@inspark/inspark-components 14.0.68 → 14.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/full/bms.css +1 -1
- package/full/esm2020/components/dropdown/dropdown.component.mjs +3 -3
- package/full/fesm2015/inspark-inspark-components.mjs +2 -2
- package/full/fesm2015/inspark-inspark-components.mjs.map +1 -1
- package/full/fesm2020/inspark-inspark-components.mjs +2 -2
- package/full/fesm2020/inspark-inspark-components.mjs.map +1 -1
- package/full/index.css +1 -1
- package/full/package.json +1 -1
- package/interface/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspark-inspark-components.mjs","sources":["../../../../projects/inspark-components/src/pipes/propertyValue.pipe.ts","../../../../projects/inspark-components/src/pipes/time.pipe.ts","../../../../projects/inspark-components/src/pipes/safeUrl.pipe.ts","../../../../projects/inspark-components/src/pipes/sort-by.pipe.ts","../../../../projects/inspark-components/src/pipes/pipes.module.ts","../../../../projects/inspark-components/src/utils/gettextMarker.function.ts","../../../../projects/inspark-components/src/services/inspark-message.service.ts","../../../../projects/inspark-components/src/services/inspark-dialog.service.ts","../../../../projects/inspark-components/src/components/communication.service.ts","../../../../projects/inspark-components/src/components/preloader/preloader.component.ts","../../../../projects/inspark-components/src/components/preloader/preloader.component.html","../../../../projects/inspark-components/src/components/svg/svg.component.ts","../../../../projects/inspark-components/src/components/svg/svg.component.html","../../../../projects/inspark-components/src/components/button/button.component.ts","../../../../projects/inspark-components/src/components/button/button.component.html","../../../../projects/inspark-components/src/components/input-text/input-text.component.ts","../../../../projects/inspark-components/src/components/input-text/input-text.component.html","../../../../projects/inspark-components/src/components/textarea/textarea.component.ts","../../../../projects/inspark-components/src/components/textarea/textarea.component.html","../../../../projects/inspark-components/src/components/panel/panel.component.ts","../../../../projects/inspark-components/src/components/panel/panel.component.html","../../../../projects/inspark-components/src/components/component-container/component-container.component.ts","../../../../projects/inspark-components/src/components/component-container/component-container.component.html","../../../../projects/inspark-components/src/components/checkbox/checkbox.component.ts","../../../../projects/inspark-components/src/components/checkbox/checkbox.component.html","../../../../projects/inspark-components/src/components/dropdown/dropdown.component.ts","../../../../projects/inspark-components/src/components/dropdown/dropdown.component.html","../../../../projects/inspark-components/src/components/inspark.shared.ts","../../../../projects/inspark-components/src/components/table/table-click-outside.directive.ts","../../../../projects/inspark-components/src/components/table/table-menu-overlay/table-menu-overlay.component.ts","../../../../projects/inspark-components/src/components/table/table-menu-overlay/table-menu-overlay.component.html","../../../../projects/inspark-components/src/components/table/table-columns-multiselect/table-columns-multiselect.component.ts","../../../../projects/inspark-components/src/components/table/table-columns-multiselect/table-columns-multiselect.component.html","../../../../projects/inspark-components/src/components/table/table.component.ts","../../../../projects/inspark-components/src/components/table/table.component.html","../../../../projects/inspark-components/src/components/empty/empty.component.ts","../../../../projects/inspark-components/src/components/empty/empty.component.html","../../../../projects/inspark-components/src/components/sticky/sticky.component.ts","../../../../projects/inspark-components/src/components/sticky/sticky.component.html","../../../../projects/inspark-components/src/components/header/header.component.ts","../../../../projects/inspark-components/src/components/header/header.component.html","../../../../projects/inspark-components/src/components/toolbar/toolbar.component.ts","../../../../projects/inspark-components/src/components/toolbar/toolbar.component.html","../../../../projects/inspark-components/src/components/breadcrumb/breadcrumb.component.ts","../../../../projects/inspark-components/src/components/breadcrumb/breadcrumb.component.html","../../../../projects/inspark-components/src/components/file/file.component.ts","../../../../projects/inspark-components/src/components/file/file.component.html","../../../../projects/inspark-components/src/components/select-button/select-button.component.ts","../../../../projects/inspark-components/src/components/select-button/select-button.component.html","../../../../projects/inspark-components/src/components/status-circle/status-circle.component.ts","../../../../projects/inspark-components/src/components/status-circle/status-circle.component.html","../../../../projects/inspark-components/src/components/switcher/switcher.component.ts","../../../../projects/inspark-components/src/components/switcher/switcher.component.html","../../../../projects/inspark-components/src/components/inline-message/inline-message.component.ts","../../../../projects/inspark-components/src/components/inline-message/inline-message.component.html","../../../../projects/inspark-components/src/components/link/link.component.ts","../../../../projects/inspark-components/src/components/link/link.component.html","../../../../projects/inspark-components/src/components/tooltip/tooltip.component.ts","../../../../projects/inspark-components/src/components/tooltip/tooltip.component.html","../../../../projects/inspark-components/src/components/tree-table/tree-table.component.ts","../../../../projects/inspark-components/src/components/tree-table/tree-table.component.html","../../../../projects/inspark-components/src/components/radiobutton/radiobutton.component.ts","../../../../projects/inspark-components/src/components/radiobutton/radiobutton.component.html","../../../../projects/inspark-components/src/components/select-list/select-list.component.ts","../../../../projects/inspark-components/src/components/select-list/select-list.component.html","../../../../projects/inspark-components/src/components/object-tree/object-tree.component.ts","../../../../projects/inspark-components/src/components/object-tree/object-tree.component.html","../../../../projects/inspark-components/src/components/modal-input-text/modal-input-text.component.ts","../../../../projects/inspark-components/src/components/modal-input-text/modal-input-text.component.html","../../../../projects/inspark-components/src/components/content-toggle/content-toggle.component.ts","../../../../projects/inspark-components/src/components/content-toggle/content-toggle.component.html","../../../../projects/inspark-components/src/components/input-group/input-group.component.ts","../../../../projects/inspark-components/src/components/input-group/input-group.component.html","../../../../projects/inspark-components/src/components/primeng.module.ts","../../../../projects/inspark-components/src/components/autocomplete/autocomplete.component.ts","../../../../projects/inspark-components/src/components/autocomplete/autocomplete.component.html","../../../../projects/inspark-components/src/components/pie/pie.service.ts","../../../../projects/inspark-components/src/components/pie/pie.component.ts","../../../../projects/inspark-components/src/components/pie/pie.component.html","../../../../projects/inspark-components/src/components/inspark.module.ts","../../../../projects/inspark-components/src/public_api.ts","../../../../projects/inspark-components/src/inspark-inspark-components.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'propertyValue'\r\n})\r\nexport class PropertyValuePipe implements PipeTransform {\r\n transform(value: any, name: string): any {\r\n if (Array.isArray(value) || !(value instanceof Object) || !name) {\r\n return value;\r\n } else if (name.indexOf('.') > -1) {\r\n const splitName: string[] = name.split(/\\.(.+)/, 2);\r\n return this.transform(value[splitName[0]], splitName[1]);\r\n } else {\r\n return value[name];\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n\r\nfunction isTime(value: string | number) {\r\n return /^[0-9]{1,2}\\:[0-9]{1,2}$/.test(value.toString());\r\n}\r\n\r\nfunction addLeadZero(num, isNegative = false) {\r\n return (isNegative ? '-' : '') + ('000' + Math.abs(num)).slice(-2);\r\n}\r\n\r\nexport function parseIntervalToMinutes(interval: string) {\r\n if (!isTime(interval)) {\r\n return 0;\r\n }\r\n\r\n const parts = interval.split(':');\r\n const hours = parseInt(parts[0], 10);\r\n const minutes = parseInt(parts[1], 10);\r\n if (isNaN(hours) || isNaN(minutes)) {\r\n throw new Error(interval + ' не может быть обработан как время HH:MM');\r\n }\r\n return 60 * hours + minutes;\r\n}\r\n\r\nexport function shortWeekdayToNum(dayKey: string) {\r\n switch (dayKey) {\r\n case 'sun':\r\n return 0;\r\n case 'mon':\r\n return 1;\r\n case 'tue':\r\n return 2;\r\n case 'wed':\r\n return 3;\r\n case 'thu':\r\n return 4;\r\n case 'fri':\r\n return 5;\r\n case 'sat':\r\n return 6;\r\n case 'd1':\r\n return 7;\r\n case 'd2':\r\n return 8;\r\n }\r\n return -1;\r\n}\r\n\r\nexport function formatNumberToTime(num) {\r\n if (isTime(num)) {\r\n return num;\r\n }\r\n const value = parseInt(num, 10);\r\n const isNegative = value < 0 ? true : false;\r\n const absValue = Math.abs(value);\r\n return addLeadZero(Math.floor(absValue / 60), isNegative) + ':' + addLeadZero(absValue % 60);\r\n}\r\n\r\nexport function numToShortWeekday(num) {\r\n const days = [\r\n 'sun',\r\n 'mon',\r\n 'tue',\r\n 'wed',\r\n 'thu',\r\n 'fri',\r\n 'sat',\r\n 'd1',\r\n 'd2'\r\n ];\r\n return days[parseInt(num, 10)] ? days[parseInt(num, 10)] : 'custom';\r\n}\r\n\r\nexport function shortToFullWeekday(day) {\r\n const days = {\r\n 'sun': 'sunday',\r\n 'mon': 'monday',\r\n 'tue': 'tuesday',\r\n 'wed': 'wednesday',\r\n 'thu': 'thursday',\r\n 'fri': 'friday',\r\n 'sat': 'saturday',\r\n 'd1': 'day1',\r\n 'd2': 'day2'\r\n };\r\n return days[day];\r\n}\r\n\r\n\r\n@Pipe({\r\n name: 'shortToFullWeekday'\r\n})\r\nexport class ShortToFullWeekdayPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n return shortToFullWeekday(value);\r\n }\r\n}\r\n\r\n/**\r\n * Pipe используется для преобразования числа в день недели\r\n * 0-6 - вс-сб, 7,8 - день1, день2\r\n */\r\n@Pipe({\r\n name: 'numToShortWeekday'\r\n})\r\nexport class NumToShortWeekdayPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n return numToShortWeekday(value);\r\n }\r\n\r\n}\r\n\r\n@Pipe({\r\n name: 'formatNumToTime'\r\n})\r\nexport class FormatNumToTime implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n if (args) {\r\n let isHour = false;\r\n let isMin = false;\r\n let isSec = false;\r\n if ((args as string).indexOf('HH') !== -1) {\r\n isHour = true;\r\n }\r\n if ((args as string).indexOf('mm') !== -1) {\r\n isMin = true;\r\n }\r\n if ((args as string).indexOf('SS') !== -1) {\r\n isSec = true;\r\n }\r\n const absValue = Math.floor(Math.abs(value / 1000));\r\n let hours = 0;\r\n let hh = '00';\r\n if (isHour) {\r\n hours = Math.floor(absValue / (60 * 60));\r\n hh = String(hours < 10 ? '0' + hours : hours);\r\n }\r\n let Mins = 0;\r\n let MM = '00';\r\n if (isMin) {\r\n Mins = Math.ceil((absValue - hours * 60 * 60) / 60);\r\n MM = String(Mins < 10 ? '0' + Mins : Mins);\r\n }\r\n let sec = 0;\r\n let ss = '00';\r\n if (isSec) {\r\n sec = absValue - hours * 60 * 60 - Mins * 60;\r\n ss = String(sec < 10 ? '0' + sec : sec);\r\n }\r\n if (isHour && isMin && isSec) {\r\n return hh + ':' + MM + ':' + ss;\r\n } else if (isHour && isMin) {\r\n return hh + ':' + MM;\r\n } else if (isMin && isSec) {\r\n return MM + ':' + ss;\r\n } else if (isHour) {\r\n return hh;\r\n } else if (isMin) {\r\n return MM;\r\n } else if (isSec) {\r\n return ss;\r\n }\r\n }\r\n return formatNumberToTime(value);\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'inDate'\r\n})\r\nexport class InDate implements PipeTransform {\r\n constructor(private translate: TranslateService) {\r\n }\r\n\r\n transform(value: any, args?: string): any {\r\n const isSec = args ? args.indexOf('ss') !== -1 : false;\r\n const isHour = args ? args.indexOf('hh') !== -1 : true;\r\n const isMin = args ? args.indexOf('MM') !== -1 : true;\r\n const date = new Date(value);\r\n const now = new Date();\r\n const time = (isHour ? `${('0' + date.getHours()).slice(-2)}` : ``)\r\n + (isMin ? `:${('0' + date.getMinutes()).slice(-2)}` : ``)\r\n + (isSec ? `:${('0' + date.getSeconds()).slice(-2)} ` : ``);\r\n if (date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()) {\r\n return this.translate.instant('today at') + ' ' + time;\r\n } else {\r\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + ('0' + date.getFullYear()).slice(-2) + ' ' + time;\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\r\n\r\n/**\r\n * Sanitize HTML\r\n */\r\n@Pipe({\r\n name: 'safeUrl'\r\n})\r\nexport class SafeUrlPipe implements PipeTransform {\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param _sanitizer: DomSanitezer\r\n */\r\n // tslint:disable-next-line\r\n constructor(protected _sanitizer: DomSanitizer) {\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n */\r\n transform(value: string): SafeResourceUrl {\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'SortByPipe'\r\n})\r\nexport class SortByPipe implements PipeTransform {\r\n transform(arr: Array<any>, options: Array<any>): any {\r\n if (arr === undefined) {\r\n return;\r\n }\r\n return arr.sort((a: any, b: any): number => {\r\n let cmp = 0;\r\n for (let i = 0; i < options.length; i++) {\r\n const x = a[options[i].sortField];\r\n const y = b[options[i].sortField];\r\n const asc = options[i].isAscending ? -1 : 1;\r\n cmp = (((x === y) ? 0 : (x < y) ? -1 * asc : 1 * asc) + cmp) * 10;\r\n }\r\n return cmp;\r\n });\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PropertyValuePipe} from './propertyValue.pipe';\r\nimport {FormatNumToTime, InDate, NumToShortWeekdayPipe, ShortToFullWeekdayPipe} from './time.pipe';\r\nimport {SafeUrlPipe} from './safeUrl.pipe';\r\nimport {SortByPipe} from \"./sort-by.pipe\";\r\n\r\n@NgModule({\r\n exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],\r\n declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]\r\n})\r\nexport class PipesModule {\r\n}\r\n","import { marker as _} from \"@biesbjerg/ngx-translate-extract-marker\";\r\n\r\nexport function gettext(a: string) : string {\r\n return _(a) as string;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {Confirmation, ConfirmationService, Message, MessageService} from 'primeng/api';\r\nimport {gettext} from \"../utils/gettextMarker.function\";\r\n\r\n@Injectable()\r\nexport class InsparkMessageService {\r\n\r\n constructor(private translate: TranslateService,\r\n private messageService: MessageService,\r\n private confirmationService: ConfirmationService) {\r\n }\r\n\r\n /**\r\n * @deprecated\r\n * @param options\r\n */\r\n public add(options: Message) {\r\n this.messageService.add(options);\r\n }\r\n\r\n public confirm(message: string, options: Confirmation) {\r\n if (options.acceptLabel) {\r\n options.acceptLabel = this.translate.instant(gettext(options.acceptLabel));\r\n }\r\n if (options.rejectLabel) {\r\n options.rejectLabel = this.translate.instant(gettext(options.rejectLabel));\r\n }\r\n this.translate.get(gettext(message)).subscribe((res: string) => {\r\n this.confirmationService.confirm({\r\n ...options,\r\n message: res\r\n });\r\n });\r\n }\r\n\r\n public success(message: string) {\r\n this.translate.get(gettext('Toast_Success_Caption')).subscribe((title: string) => {\r\n this.translate.get(message).subscribe((res: string) => {\r\n this.messageService.add({severity: 'success', summary: title, detail: res});\r\n });\r\n });\r\n }\r\n\r\n public message(message: string) {\r\n this.translate.get(gettext('Toast_Message_Caption')).subscribe((title: string) => {\r\n this.translate.get(message).subscribe((res: string) => {\r\n this.messageService.add({severity: 'info', summary: title, detail: res});\r\n });\r\n });\r\n }\r\n\r\n /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/\r\n public error(message: string) {\r\n const title = this.getToastErrorTitleLocalized();\r\n // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {\r\n this.translate.get(gettext(message)).subscribe((res: string) => {\r\n this.messageService.add({severity: 'error', summary: title, detail: res});\r\n });\r\n // });\r\n }\r\n\r\n private getToastErrorTitleLocalized(): string {\r\n const ilocale = localStorage.getItem('ilocale_');\r\n if (ilocale && ilocale.replace(/\"/g, '') === 'en-US') {\r\n return 'Error';\r\n }\r\n return 'Ошибка';\r\n /*\r\n if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/\"/g, ''))) {\r\n this.localeService.setLocale(ilocale.replace(/\"/g, ''));\r\n this.translate.use(this.localeService.locale$.getValue().short);\r\n }\r\n */\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n ComponentFactoryResolver,\r\n ApplicationRef,\r\n Injector,\r\n Type,\r\n EmbeddedViewRef,\r\n ComponentRef\r\n} from '@angular/core';\r\nimport {\r\n DynamicDialogComponent,\r\n DynamicDialogRef,\r\n DynamicDialogConfig,\r\n DynamicDialogInjector\r\n} from \"primeng/dynamicdialog\";\r\n\r\n\r\n@Injectable()\r\nexport class InsparkDialogService {\r\n private dialogComponentRefs: ComponentRef<DynamicDialogComponent>[] = [];\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {}\r\n\r\n public open(componentType: Type<any>, config: DynamicDialogConfig): DynamicDialogRef {\r\n const dialogRef = this.appendDialogComponentToBody(componentType, config);\r\n\r\n // Зафиксируем скролл (можно делать только для первого окна)\r\n if (this.dialogComponentRefs.length === 1) {\r\n document.body.style.top = `-${window.scrollY}px`;\r\n document.body.style.position = 'fixed';\r\n }\r\n\r\n dialogRef.onClose.subscribe(() => {\r\n this.removeDialogComponent(dialogRef);\r\n\r\n // Восстановим скролл только если это последнее окно\r\n if (this.dialogComponentRefs.length === 0) {\r\n const scrollY = document.body.style.top;\r\n document.body.style.position = '';\r\n document.body.style.top = '';\r\n window.scrollTo(0, parseInt(scrollY || '0') * -1);\r\n }\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(\r\n componentType: Type<any>,\r\n config: DynamicDialogConfig\r\n ): DynamicDialogRef {\r\n const map = new WeakMap();\r\n map.set(DynamicDialogConfig, config);\r\n\r\n const dialogRef = new DynamicDialogRef();\r\n map.set(DynamicDialogRef, dialogRef);\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);\r\n const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));\r\n\r\n componentRef.instance.childComponentType = componentType;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRefs.push(componentRef);\r\n\r\n dialogRef.onClose.subscribe(() => {\r\n this.removeDialogComponent(dialogRef);\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponent(dialogRef: DynamicDialogRef) {\r\n const componentRef = this.dialogComponentRefs.find(ref => (ref.instance as any).dialogRef === dialogRef);\r\n\r\n if (!componentRef) return;\r\n\r\n this.appRef.detachView(componentRef.hostView);\r\n componentRef.destroy();\r\n\r\n this.dialogComponentRefs = this.dialogComponentRefs.filter(ref => ref !== componentRef);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CommunicationService {\r\n\r\n\r\n private messageSource = {};\r\n message$ = {};\r\n\r\n create(id: number) {\r\n if (!this.messageSource[id]) {\r\n this.messageSource[id] = new Subject();\r\n this.message$[id] = this.messageSource[id].asObservable();\r\n }\r\n }\r\n\r\n next(widgetId: number, value: any) {\r\n this.create(widgetId);\r\n this.messageSource[widgetId].next(value);\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\n\r\n\r\ntype PreloaderSize = 'small' | 'normal';\r\n\r\n@Component({\r\n selector: 'in-preloader',\r\n templateUrl: './preloader.component.html',\r\n styleUrls: ['./preloader.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class PreloaderComponent implements OnInit {\r\n\r\n @Input() inline = false;\r\n @Input() overlay = false;\r\n @Input() size: PreloaderSize = 'normal';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\n","import {Component, Input} from '@angular/core';\r\nimport {Button as PButton} from 'primeng/button';\r\n\r\n\r\ntype SVGSize = 'small' | 'normal' | 'large';\r\n\r\n@Component({\r\n selector: 'in-svg',\r\n templateUrl: './svg.component.html',\r\n styleUrls: ['./svg.component.scss'],\r\n})\r\nexport class SvgComponent extends PButton {\r\n\r\n @Input() size: SVGSize = 'normal';\r\n @Input() width = '100%';\r\n @Input() height = '100%';\r\n @Input() src: string;\r\n\r\n}\r\n","<span [inlineSVG]=\"src\"\r\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\r\n\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild, ViewEncapsulation, HostListener, HostBinding} from '@angular/core';\r\nimport {Button as PButton} from 'primeng/button';\r\nimport {InsparkMenuItem} from '../../interface';\r\nimport {Menu} from 'primeng/menu';\r\n\r\n\r\ntype ButtonSize = 'small' | 'normal' | 'large' | 'tiny';\r\ntype ButtonColor = 'normal' | 'danger' | 'primary' | 'secondary' | 'transparent';\r\ntype ButtonType = 'button' | 'submit';\r\ntype IconPos = 'left' | 'right';\r\ntype ButtonNotify = 'warning' | 'error';\r\n\r\n\r\n@Component({\r\n selector: 'in-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent extends PButton implements OnInit, OnChanges {\r\n\r\n @Input() size: ButtonSize = 'normal';\r\n @Input() color: ButtonColor = 'normal';\r\n @Input() type: ButtonType = 'button';\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() className = '';\r\n @Input() notify: ButtonNotify = null;\r\n @Input() svg = '';\r\n @Input() width = 'auto';\r\n @Input() link = '';\r\n @Input() isLoading = false;\r\n @Input() shadow = false;\r\n @Input() isIconOnly = false;\r\n\r\n /**\r\n * external - ссылка на внешний источник\r\n * internal - ссылка внутри приложения\r\n * auto - определяется автоматически исходя из link\r\n */\r\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n /**\r\n * self - открывается в этом же окне\r\n * blank - открывается в новом окне\r\n * auto - определяется автоматически исходя из linkType\r\n */\r\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\r\n\r\n\r\n // Отображает кнопку нажатой\r\n @Input() pressed = false;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() iconPos: IconPos = 'left';\r\n\r\n @Input() selectedItem = null;\r\n @Input() menuPlacement = 'bottom-left';\r\n @Input() menuItems: InsparkMenuItem[] = [];\r\n\r\n @ViewChild(Menu, {static: false}) _menu !: Menu;\r\n @HostBinding('style.pointer-events')\r\n get pointerEvents(): string {\r\n return this.disabled ? 'none' : 'auto';\r\n }\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() click: EventEmitter<any> = new EventEmitter();\r\n\r\n _target = '_self';\r\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n\r\n isMaterialIcon = false;\r\n constructor( private cdr: ChangeDetectorRef ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n this.updateData();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.updateData();\r\n }\r\n\r\n updateData() {\r\n this._linkType = this.linkType;\r\n\r\n if (this._linkType === 'auto') {\r\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\r\n this._linkType = 'external';\r\n } else {\r\n this._linkType = 'internal';\r\n }\r\n }\r\n\r\n if (this.linkTarget === 'auto') {\r\n if (this._linkType === 'external') {\r\n this._target = '_blank';\r\n } else {\r\n this._target = '_self';\r\n }\r\n } else {\r\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\r\n }\r\n\r\n if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('in-') === -1 && this.icon.indexOf('pi-') === -1) {\r\n this.isMaterialIcon = true;\r\n } else {\r\n this.isMaterialIcon = false;\r\n }\r\n }\r\n\r\n _onClick($event) {\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='external'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\r\n ngbDropdown>\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\"\r\n [style]=\"style\" ngbDropdownToggle>\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\r\n class=\"in-dropdown-menu\"\r\n ngbDropdownMenu>\r\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\r\n <in-button (click)=\"dropdown.close(); item.command();\"\r\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\r\n [icon]=\"item.icon\"\r\n [label]=\"item.label\"\r\n [svg]=\"item.svg\"\r\n size=\"large\"\r\n width=\"100%\"></in-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label) || isIconOnly,\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\r\n <span class=\"p-button-text p-clickable\">{{label}}</span>\r\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\">\r\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\r\n </span>\r\n</ng-template>\r\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class InputTextComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() autocomplete = true;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() size = 100000;\r\n @Input() maxlength = 100000;\r\n @Input() width = '';\r\n @Input() display = true;\r\n @Input() large = true;\r\n @Input() small = false;\r\n @Input() widget = false;\r\n @Input() forms = false;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() testId = null;\r\n @Input() disabled: boolean;\r\n @Input() opacity = true;\r\n @Input() shadow = false;\r\n @Input() right = false;\r\n @Input() type = 'text';\r\n @Input() step: number;\r\n @Input() min: number;\r\n @Input() max: number;\r\n\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n value: string;\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n clear() {\r\n this.value = '';\r\n this.propagateChange('');\r\n this.onClick.emit('');\r\n }\r\n\r\n onChange(_: any) {\r\n if (this.type === 'number') {\r\n this.propagateChange(+this.value);\r\n } else {\r\n this.propagateChange(this.value);\r\n }\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\n","import {Component, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-textarea',\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./textarea.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TextareaComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class TextareaComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() minHeight = 30;\r\n @Input() maxlength = 100000;\r\n\r\n value: string;\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n };\r\n\r\n onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n","import {Component} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.scss'],\r\n})\r\nexport class PanelComponent {\r\n\r\n\r\n}\r\n","<div class=\"c-panel inspark-panel\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {Component, Input} from '@angular/core';\r\n\r\n\r\ntype ALIGN = 'right' | 'left' | 'center';\r\n\r\n@Component({\r\n selector: 'in-component-container',\r\n templateUrl: './component-container.component.html',\r\n styleUrls: ['./component-container.component.scss'],\r\n})\r\nexport class ComponentContainerComponent {\r\n\r\n\r\n @Input() align: ALIGN = 'left';\r\n\r\n}\r\n","<div [ngClass]=\"align\" class=\"inspark-component-container\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {ChangeDetectorRef, Component, ElementRef, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n\r\n value: string;\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n if (!this.cdRef['destroyed']) {\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n };\r\n\r\n onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-checkbox\">\r\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\r\n (ngModelChange)=\"onChange(value)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n class=\"c-checkbox__input field_{{id}}\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\r\n <span class=\"label\"><ng-content></ng-content></span>\r\n</label>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n ViewRef\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Overlay, OverlayModule} from 'primeng/overlay';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {Dropdown} from 'primeng/dropdown';\r\nimport {TooltipModule} from 'primeng/tooltip';\r\nimport {OverlayOptions, PrimeTemplate, SelectItem, SharedModule} from 'primeng/api';\r\nimport {Scroller, ScrollerModule, ScrollerOptions} from 'primeng/scroller';\r\nimport {RippleModule} from 'primeng/ripple';\r\nimport {AutoFocusModule} from 'primeng/autofocus';\r\nimport {ObjectUtils} from 'primeng/utils';\r\n\r\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'p-dropdownItem',\r\n template: `\r\n <li\r\n (click)=\"onOptionClick($event)\"\r\n role=\"option\"\r\n pRipple\r\n [attr.aria-label]=\"label\"\r\n [attr.aria-selected]=\"selected\"\r\n [ngStyle]=\"{ height: itemSize + 'px' }\"\r\n [id]=\"selected ? 'p-highlighted-option' : ''\"\r\n [ngClass]=\"{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }\"\r\n >\r\n <span *ngIf=\"!template\">{{ label || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\r\n </li>\r\n `\r\n})\r\nexport class DropdownItem {\r\n @Input() option: SelectItem;\r\n\r\n @Input() selected: boolean;\r\n\r\n @Input() label: string;\r\n\r\n @Input() disabled: boolean;\r\n\r\n @Input() visible: boolean;\r\n\r\n @Input() itemSize: number;\r\n\r\n @Input() template: TemplateRef<any>;\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n onOptionClick(event: Event) {\r\n this.onClick.emit({\r\n originalEvent: event,\r\n option: this.option\r\n });\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'in-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n host: {\r\n class: 'p-element p-inputwrapper',\r\n '[class.p-inputwrapper-filled]': 'filled',\r\n '[class.p-inputwrapper-focus]': 'focused || overlayVisible'\r\n },\r\n providers: [DROPDOWN_VALUE_ACCESSOR],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./dropdown.component.css']\r\n})\r\nexport class DropdownComponent extends Dropdown implements ControlValueAccessor {\r\n\r\n /**\r\n * Наш код\r\n */\r\n\r\n\r\n @Input() title: string;\r\n\r\n @Input() error = null;\r\n\r\n get label(): string {\r\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\r\n }\r\n\r\n /**\r\n * код PrimeNG\r\n */\r\n\r\n @Input() scrollHeight: string = '200px';\r\n\r\n @Input() filter: boolean;\r\n\r\n @Input() name: string;\r\n\r\n _options: any[];\r\n @Input() get options(): any[] {\r\n return this._options;\r\n }\r\n\r\n set options(val: any[]) {\r\n this._options = val;\r\n this.optionsToDisplay = this._options;\r\n this.updateSelectedOption(this.value);\r\n\r\n this.selectedOption = this.findOption(this.value, this.optionsToDisplay);\r\n if (!this.selectedOption && ObjectUtils.isNotEmpty(this.value) && !this.editable) {\r\n this.value = null;\r\n this.onModelChange(this.value);\r\n }\r\n\r\n this.optionsChanged = true;\r\n if (this._filterValue && this._filterValue.length) {\r\n this.activateFilter();\r\n }\r\n }\r\n\r\n @Input() style: any;\r\n\r\n @Input() panelStyle: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() panelStyleClass: string;\r\n\r\n @Input() readonly: boolean;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() editable: boolean;\r\n\r\n @Input() appendTo: any;\r\n\r\n @Input() tabindex: number;\r\n\r\n @Input() placeholder: string;\r\n\r\n @Input() filterPlaceholder: string;\r\n\r\n @Input() filterLocale: string;\r\n\r\n @Input() inputId: string;\r\n\r\n @Input() selectId: string;\r\n\r\n @Input() dataKey: string;\r\n\r\n @Input() filterBy: string;\r\n\r\n @Input() autofocus: boolean;\r\n\r\n @Input() resetFilterOnHide: boolean = false;\r\n\r\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\r\n\r\n @Input() optionLabel: string;\r\n\r\n @Input() optionValue: string;\r\n\r\n @Input() optionDisabled: string;\r\n\r\n @Input() optionGroupLabel: string;\r\n\r\n @Input() optionGroupChildren: string = 'items';\r\n\r\n @Input() autoDisplayFirst: boolean = true;\r\n\r\n @Input() group: boolean;\r\n\r\n @Input() showClear: boolean;\r\n\r\n @Input() emptyFilterMessage: string = '';\r\n\r\n @Input() emptyMessage: string = '';\r\n\r\n @Input() lazy: boolean = false;\r\n\r\n @Input() virtualScroll: boolean;\r\n\r\n @Input() virtualScrollItemSize: number;\r\n\r\n @Input() virtualScrollOptions: ScrollerOptions;\r\n\r\n @Input() overlayOptions: OverlayOptions;\r\n\r\n @Input() ariaFilterLabel: string;\r\n\r\n @Input() ariaLabel: string;\r\n\r\n @Input() ariaLabelledBy: string;\r\n\r\n @Input() filterMatchMode: string = 'contains';\r\n\r\n @Input() maxlength: number;\r\n\r\n @Input() tooltip: string = '';\r\n\r\n @Input() tooltipPosition: string = 'right';\r\n\r\n @Input() tooltipPositionStyle: string = 'absolute';\r\n\r\n @Input() tooltipStyleClass: string;\r\n\r\n @Input() autofocusFilter: boolean = true;\r\n\r\n @Input() overlayDirection: string = 'end';\r\n\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onShow: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onHide: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClear: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onLazyLoad: EventEmitter<any> = new EventEmitter();\r\n\r\n /* @deprecated */\r\n _itemSize: number;\r\n @Input() get itemSize(): number {\r\n return this._itemSize;\r\n }\r\n\r\n set itemSize(val: number) {\r\n this._itemSize = val;\r\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _autoZIndex: boolean;\r\n @Input() get autoZIndex(): boolean {\r\n return this._autoZIndex;\r\n }\r\n\r\n set autoZIndex(val: boolean) {\r\n this._autoZIndex = val;\r\n console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _baseZIndex: number;\r\n @Input() get baseZIndex(): number {\r\n return this._baseZIndex;\r\n }\r\n\r\n set baseZIndex(val: number) {\r\n this._baseZIndex = val;\r\n console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _showTransitionOptions: string;\r\n @Input() get showTransitionOptions(): string {\r\n return this._showTransitionOptions;\r\n }\r\n\r\n set showTransitionOptions(val: string) {\r\n this._showTransitionOptions = val;\r\n console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _hideTransitionOptions: string;\r\n @Input() get hideTransitionOptions(): string {\r\n return this._hideTransitionOptions;\r\n }\r\n\r\n set hideTransitionOptions(val: string) {\r\n this._hideTransitionOptions = val;\r\n console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n overlayVisible: boolean;\r\n\r\n // emptyFilter = '';\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownComponent,\r\n DropdownItem,\r\n ],\r\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],\r\n exports: [\r\n DropdownComponent, OverlayModule, SharedModule, ScrollerModule\r\n ],\r\n entryComponents: [\r\n DropdownComponent,\r\n ]\r\n})\r\nexport class DropdownComponentModule {\r\n}\r\n","<label class=\"label type_varchars in-dropdown\">\r\n<span *ngIf=\"title\" class=\"c-label__content\">\r\n {{ title }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n </span>\r\n <div\r\n #container\r\n (click)=\"onMouseclick($event)\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n [ngStyle]=\"style\"\r\n >\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n aria-haspopup=\"listbox\"\r\n pAutoFocus\r\n readonly\r\n role=\"combobox\"\r\n type=\"text\"\r\n />\r\n </div>\r\n <span\r\n *ngIf=\"!editable && label != null\"\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n [pTooltip]=\"tooltip\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\">\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || '' }}</ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span\r\n *ngIf=\"!editable && label == null\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\">{{ placeholder || '' }}</span>\r\n <input\r\n #editableInput\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (input)=\"onEditableInputChange($event)\"\r\n *ngIf=\"editable\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n type=\"text\"\r\n />\r\n <i (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\" class=\"p-dropdown-clear-icon pi pi-times\"></i>\r\n <div [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"listbox\" aria-label=\"dropdown trigger\"\r\n class=\"p-dropdown-trigger\"\r\n role=\"button\">\r\n <span [ngClass]=\"dropdownIcon\" class=\"p-dropdown-trigger-icon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n [(visible)]=\"overlayVisible\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [options]=\"overlayOptions\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [target]=\"'@parent'\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [class]=\"panelStyleClass\" [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div (click)=\"$event.stopPropagation()\" *ngIf=\"filter\" class=\"p-dropdown-header\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n [value]=\"filterValue || ''\"\r\n autocomplete=\"off\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n type=\"text\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\" class=\"p-dropdown-items-wrapper\">\r\n <p-scroller\r\n #scroller\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n *ngIf=\"virtualScroll\"\r\n [autoSize]=\"true\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [items]=\"optionsToDisplay\"\r\n [lazy]=\"lazy\"\r\n [options]=\"virtualScrollOptions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n >\r\n <ng-template let-items let-scrollerOptions=\"options\" pTemplate=\"content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template let-scrollerOptions=\"options\" pTemplate=\"loader\">\r\n <ng-container\r\n *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [style]=\"scrollerOptions.contentStyle\"\r\n class=\"p-dropdown-items\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template [ngForOf]=\"items\" let-optgroup ngFor>\r\n <li [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" class=\"p-dropdown-item-group\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template [ngForOf]=\"options\" let-i=\"index\" let-option ngFor>\r\n <p-dropdownItem\r\n (onClick)=\"onItemClick($event)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n </div>\r\n</label>\r\n","import {Directive, Input, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[inTemplate]',\r\n host: {}\r\n})\r\nexport class InsparkTemplate {\r\n\r\n @Input() type: string;\r\n\r\n @Input('inTemplate') name: string;\r\n\r\n constructor(public template: TemplateRef<any>) {\r\n }\r\n\r\n getType(): string {\r\n return this.name;\r\n }\r\n}\r\n","import {Directive, ElementRef, EventEmitter, HostListener, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[inClickOutside]'\r\n})\r\nexport class TableClickOutsideDirective {\r\n\r\n @Output() clickedOutside = new EventEmitter();\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n click(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n // console.log('clicked outside');\r\n this.clickedOutside.emit(event);\r\n } else {\r\n // console.log('clicked inside');\r\n }\r\n }\r\n\r\n}\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-table-menu-overlay',\r\n templateUrl: './table-menu-overlay.component.html',\r\n styleUrls: ['./table-menu-overlay.component.scss', './table-menu-overlay-contrast.component.scss', './table-menu-overlay-light.component.scss', './table-menu-overlay-green.component.scss', './table-menu-overlay-blue.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TableMenuOverlayComponent {\r\n @Input() isExpanded = false;\r\n @Input() positionClass: string;\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n public isClickedOutsideOverlay(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n this.isExpanded = false;\r\n }\r\n }\r\n}\r\n","<div class=\"c-overlay is-dropdown_open\">\r\n <div (click)=\"isExpanded = !isExpanded;\"\r\n class=\"c-overlay__toggle\">\r\n <ng-content select=\"host\"></ng-content>\r\n </div>\r\n <ng-container *ngIf=\"isExpanded\">\r\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\r\n inClickOutside>\r\n <!--{{positionClass}}-->\r\n <ng-content select=\"body\"></ng-content>\r\n </div>\r\n </ng-container>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {TableColumns} from \"../../../interface\";\r\n\r\n@Component({\r\n selector: 'in-table-columns-multiselect',\r\n templateUrl: './table-columns-multiselect.component.html',\r\n styleUrls: ['./table-columns-multiselect.component.scss']\r\n})\r\nexport class TableColumnsMultiselectComponent implements OnInit {\r\n public isExpanded = false;\r\n @Input() columns: TableColumns[];\r\n /**\r\n * true - все активные чекбоксы становятся неактивными\r\n * false - не влияет на чекбоксы\r\n */\r\n @Input() disableActiveCheckboxes = false;\r\n @Output() columnsChange = new EventEmitter<{event: any, column: TableColumns}>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<in-table-menu-overlay [isExpanded]=\"isExpanded\">\r\n <ng-container ngProjectAs=\"host\">\r\n <button class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i [title]=\"('column switch' | translate)\" class=\"in in-cog\"></i><i class=\"c-caret\"></i>\r\n </button>\r\n\r\n </ng-container>\r\n <ng-container ngProjectAs=\"body\">\r\n <ul class=\"o-list\">\r\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\r\n <div class=\"c-dropdown-menu__content\">\r\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\r\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\r\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\r\n [ngModel]=\"!column.isHidden \"\r\n class=\"c-checkbox__input\"\r\n type=\"checkbox\">\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n </ng-container>\r\n</in-table-menu-overlay>\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n NgModule, OnChanges, OnInit,\r\n Output,\r\n QueryList, SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {Table, TableModule, TableService} from 'primeng/table';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TableColumnsMultiselectComponent} from './table-columns-multiselect/table-columns-multiselect.component';\r\nimport {TableMenuOverlayComponent} from './table-menu-overlay/table-menu-overlay.component';\r\nimport {TableClickOutsideDirective} from './table-click-outside.directive';\r\nimport {DropdownModule} from 'primeng/dropdown';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport {TableRowData} from '../../utils/hybrid/prime-table/table-row-data.model';\r\nimport {PipesModule} from '../../pipes/pipes.module';\r\nimport {TableColumns, ToolBar, ToolBarFilterColumn} from '../../interface';\r\n\r\nimport {ObjectUtils} from 'primeng/utils';\r\nimport {DomHandler} from 'primeng/dom';\r\n\r\n// NEW Factory Function\r\nexport function tableFactory(wrapper: TableComponent) {\r\n return wrapper.dt;\r\n}\r\n\r\n@Component({\r\n selector: 'in-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n entryComponents: [],\r\n providers: [\r\n DomHandler, // from new imports\r\n ObjectUtils, // from new imports\r\n TableService, // from old imports\r\n {\r\n provide: Table, // providing table class\r\n useFactory: tableFactory, // using new function\r\n deps: [TableComponent], // new function depends on your wrapper\r\n },\r\n ],\r\n})\r\nexport class TableComponent implements OnInit, AfterContentInit, AfterViewInit, OnChanges {\r\n\r\n @Input() columns: TableColumns[] = [];\r\n filteredColumns: TableColumns[] = [];\r\n globalFilteredColumns: string[] = [];\r\n primaryColumns: TableColumns[] = [];\r\n @Input() values = [];\r\n @Input() scrollHeight: string;\r\n @Input() scrollable: boolean;\r\n @Input() selectionMode: string;\r\n @Input() label: string;\r\n @Input() error: string;\r\n @Input() class: string;\r\n @Input() required: boolean;\r\n @Input() style: any;\r\n @Input() toolbar: ToolBar;\r\n @Input() checkboxSelection = true;\r\n @Input() active;\r\n @Input() sortField;\r\n @Input() isAscending;\r\n @Input() dataKey;\r\n @Input() stateKey;\r\n @Input() isGrouped: boolean;\r\n @Input() customSort: boolean;\r\n @Input() isGroupedExpanded?: boolean;\r\n @Input() showHeader: boolean = true;\r\n @Input() isMobileView: boolean = false;\r\n @Input() resizableColumns: boolean = true;\r\n @Input() isTextSearch?: boolean = true;\r\n @Input() isSortIcon?: boolean = true;\r\n @Input() columnResizeMode: 'expand' | 'fit' = 'expand';\r\n\r\n @Output() activeChange = new EventEmitter<any>();\r\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() treeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() linkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() paramsEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sortFunction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() filterFunction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('dt', {static: false}) dt;\r\n\r\n groupMode = 0;\r\n groupInfo = {};\r\n groupIndex = {};\r\n headerTemplate: TemplateRef<any>;\r\n bodyTemplate: TemplateRef<any>;\r\n loadingBodyTemplate: TemplateRef<any>;\r\n captionTemplate: TemplateRef<any>;\r\n frozenRowsTemplate: TemplateRef<any>;\r\n footerTemplate: TemplateRef<any>;\r\n summaryTemplate: TemplateRef<any>;\r\n colGroupTemplate: TemplateRef<any>;\r\n expandedRowTemplate: TemplateRef<any>;\r\n frozenHeaderTemplate: TemplateRef<any>;\r\n frozenBodyTemplate: TemplateRef<any>;\r\n frozenFooterTemplate: TemplateRef<any>;\r\n frozenColGroupTemplate: TemplateRef<any>;\r\n emptyMessageTemplate: TemplateRef<any>;\r\n paginatorLeftTemplate: TemplateRef<any>;\r\n paginatorRightTemplate: TemplateRef<any>;\r\n valueTemplate: TemplateRef<any>;\r\n searchText: string;\r\n _selection = null;\r\n\r\n @Input() set selection(val) {\r\n this._selection = val;\r\n }\r\n\r\n get selectionValue() {\r\n return this._selection;\r\n }\r\n\r\n set selectionValue(val) {\r\n this._selection = val;\r\n this.selectionChange.emit(val);\r\n }\r\n\r\n public isRowActive(row: TableRowData) {\r\n return this.active && this.active.id === row.id;\r\n }\r\n\r\n ngOnInit() {\r\n this.updateData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n Object.entries(this.dt.filters).forEach(([key, value]) => {\r\n this.dt.filter('', `${key}`, 'contains');\r\n });\r\n this.dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.resetColumnWidth();\r\n this.visibleColumns();\r\n }\r\n\r\n updateData() {\r\n this.primaryColumns = this.columns.filter(column => !column.isSecondary);\r\n this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.visibleColumns();\r\n this.restoreSearchText();\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'caption':\r\n this.captionTemplate = item.template;\r\n break;\r\n\r\n case 'header':\r\n this.headerTemplate = item.template;\r\n break;\r\n\r\n case 'body':\r\n this.bodyTemplate = item.template;\r\n break;\r\n case 'value':\r\n this.valueTemplate = item.template;\r\n break;\r\n\r\n case 'loadingbody':\r\n this.loadingBodyTemplate = item.template;\r\n break;\r\n\r\n case 'footer':\r\n this.footerTemplate = item.template;\r\n break;\r\n\r\n case 'summary':\r\n this.summaryTemplate = item.template;\r\n break;\r\n\r\n case 'colgroup':\r\n this.colGroupTemplate = item.template;\r\n break;\r\n\r\n case 'rowexpansion':\r\n this.expandedRowTemplate = item.template;\r\n break;\r\n\r\n case 'frozenrows':\r\n this.frozenRowsTemplate = item.template;\r\n break;\r\n\r\n case 'frozenheader':\r\n this.frozenHeaderTemplate = item.template;\r\n break;\r\n\r\n case 'frozenbody':\r\n this.frozenBodyTemplate = item.template;\r\n break;\r\n\r\n case 'frozenfooter':\r\n this.frozenFooterTemplate = item.template;\r\n break;\r\n\r\n case 'frozencolgroup':\r\n this.frozenColGroupTemplate = item.template;\r\n break;\r\n\r\n case 'emptymessage':\r\n this.emptyMessageTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorleft':\r\n this.paginatorLeftTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorright':\r\n this.paginatorRightTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n public visibleColumns(): TableColumns[] {\r\n this.restoreHiddenColumns();\r\n this.filteredColumns = this.columns.filter(column => !column.isHidden);\r\n return this.filteredColumns;\r\n }\r\n\r\n public columnsChange(data) {\r\n data.column.isHidden = !data.event;\r\n this.resetColumnWidth();\r\n this.saveHiddenColumns();\r\n this.visibleColumns();\r\n }\r\n\r\n public showTooltip(event) {\r\n const target = event.target;\r\n if (target.title === undefined || !target.textContent) {\r\n return;\r\n }\r\n target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';\r\n }\r\n\r\n public colFilter(field): ToolBarFilterColumn {\r\n const found = this.toolbar.filter.cols.filter(item => item.field === field);\r\n return found.length === 1 ? found[0] : undefined;\r\n }\r\n\r\n public onFilterToolbar(event) {\r\n if (this.toolbar && this.toolbar.filter) {\r\n this.toolbar.filter.active = !this.toolbar.filter.active;\r\n }\r\n }\r\n public onFilter(event) {\r\n this.onSort();\r\n this.filterFunction.emit(event.filteredValue);\r\n }\r\n\r\n public stateSave(state) {\r\n }\r\n\r\n public saveToLocalStorage(state, key) {\r\n if (key) {\r\n window.localStorage.setItem(key, JSON.stringify(state));\r\n }\r\n }\r\n\r\n public isHiddenFieldsChanged(): boolean {\r\n const hiddenFieldsSaved = this.getHiddenHiddenFieldsFromStorage();\r\n const hiddenFieldsColumns = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field);\r\n if (hiddenFieldsSaved.length === hiddenFieldsColumns.length) {\r\n const diff = hiddenFieldsSaved.filter(field => !hiddenFieldsColumns.includes(field));\r\n diff.length !== 0;\r\n }\r\n return true;\r\n }\r\n public saveHiddenColumns() {\r\n if (this.stateKey) {\r\n if (!this.isHiddenFieldsChanged()) {\r\n return;\r\n }\r\n const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');\r\n this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');\r\n window.localStorage.removeItem(this.stateKey);\r\n\r\n if (this.searchText) {\r\n window.localStorage.setItem(this.stateKey, JSON.stringify({\r\n filters: {global: {value: this.searchText, matchMode: 'contains'}}\r\n }));\r\n }\r\n\r\n if (this.dt) {\r\n this.dt.restoreState();\r\n }\r\n }\r\n }\r\n\r\n public countVisibleColumns() {\r\n return (this.columns || []).filter(_col => !_col.isHidden).length;\r\n }\r\n\r\n\r\n public restoreSearchText() {\r\n const state = window.localStorage.getItem(this.stateKey);\r\n if (state) {\r\n const parsedState = JSON.parse(state);\r\n this.searchText = (parsedState.filters || {global: {value: ''}}).global ? (parsedState.filters || {global: {value: ''}}).global.value : '';\r\n this.sortField = parsedState.sortField || this.sortField;\r\n } else {\r\n this.resetColumnWidth();\r\n }\r\n }\r\n\r\n public resetColumnWidthIfToWide() {\r\n const visibleColumns = this.columns.filter(_column => !_column.isHidden);\r\n const totalWidthInPercent = visibleColumns.reduce((s, column) => {\r\n const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;\r\n return s + percent;\r\n }, 0);\r\n\r\n if (totalWidthInPercent > 100) {\r\n console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`\r\n + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);\r\n this.resetColumnWidth();\r\n }\r\n if (totalWidthInPercent < 100 && this.columns.length > 0) {\r\n // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом\r\n const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;\r\n this.columns[0].width = 100 - totalWidthInPercent + percent + '%';\r\n }\r\n\r\n }\r\n\r\n public resetColumnWidth() {\r\n const cvc = this.countVisibleColumns();\r\n let percent = Math.floor(100 / cvc);\r\n let firstColumnPercent = percent;\r\n if (cvc > 10) {\r\n percent = Math.floor(90 / (cvc - 1));\r\n firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));\r\n }\r\n this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);\r\n }\r\n\r\n private getHiddenHiddenFieldsFromStorage(): string[] {\r\n if (this.stateKey) {\r\n const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');\r\n if (hiddenFields) {\r\n return JSON.parse(hiddenFields).split(',');\r\n }\r\n }\r\n return [];\r\n }\r\n public restoreHiddenColumns() {\r\n if (this.stateKey && window.localStorage.getItem(this.stateKey + 'HiddenFields')) {\r\n const hiddenFieldsArray = this.getHiddenHiddenFieldsFromStorage();\r\n this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);\r\n }\r\n }\r\n\r\n public calcWidth(idx, label, width) {\r\n return width && idx >= 0 ? width : 'auto';\r\n }\r\n\r\n\r\n public onSort() {\r\n if (this.isGrouped) {\r\n\r\n Object.entries(this.groupInfo).forEach(([key, value]) => {\r\n const cacheFlag = (this.groupInfo[key] || {}).isExpanded;\r\n this.groupInfo[key] = {isExpanded: cacheFlag === undefined ? true : cacheFlag};\r\n });\r\n\r\n this.sortByGroup();\r\n if (this.dt && this.dt.filteredValue) {\r\n this.sortByGroup(this.dt.filteredValue, this.dt._sortOrder);\r\n } else if (this.dt && this.dt._value && this.dt._sortOrder) {\r\n this.sortByGroup(this.dt._value, this.dt._sortOrder);\r\n }\r\n }\r\n }\r\n\r\n public isShowGroup(key, rowIndex) {\r\n if (rowIndex === 0) {\r\n this.groupIndex = {};\r\n }\r\n\r\n if (!this.groupInfo[key]) {\r\n this.groupInfo[key] = {isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true};\r\n }\r\n\r\n if (!this.groupIndex[key]) {\r\n this.groupIndex[key] = {rowIndex};\r\n }\r\n return this.groupIndex[key].rowIndex === rowIndex;\r\n }\r\n\r\n public toggleGroup(rowIndex: number, key: string) {\r\n this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;\r\n this.onSort();\r\n }\r\n\r\n clear() {\r\n this.dt.filterGlobal('', 'contains');\r\n this.searchText = '';\r\n this.dt.saveState();\r\n }\r\n\r\n localSearch(dt, searchText) {\r\n dt.filterGlobal(searchText, 'contains');\r\n }\r\n\r\n private sortByGroup(values?: any, sortOrder?: number) {\r\n const g = this.groupMode;\r\n if (values) {\r\n return values.sort((row1: TableRowData, row2: TableRowData) => {\r\n if (typeof (row1.groupOrder[g]) === 'number') {\r\n return sortOrder * (row1.groupOrder[g] - row2.groupOrder[g]);\r\n } else {\r\n return sortOrder * row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, {numeric: true, sensitivity: 'base'});\r\n }\r\n });\r\n }\r\n this.values.sort((row1: TableRowData, row2: TableRowData) => {\r\n if (typeof (row1.groupOrder[g]) === 'number') {\r\n return row1.groupOrder[g] - row2.groupOrder[g];\r\n } else {\r\n return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, {numeric: true, sensitivity: 'base'});\r\n }\r\n });\r\n }\r\n\r\n countGroup(groupKey, g: number): number {\r\n return this.values.filter(_value => _value.groupKey[g] === groupKey).length;\r\n }\r\n\r\n toggleNodes(isExpanded: boolean) {\r\n const g = this.groupMode;\r\n this.values.forEach(v => {\r\n if (this.groupInfo[v.groupKey[g]]) {\r\n this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;\r\n }\r\n });\r\n }\r\n\r\n toggleMode(item) {\r\n this.groupMode = item;\r\n this.groupInfo = {};\r\n for (let i = 0; i < this.values.length; i++) {\r\n this.isShowGroup(this.values[i].groupKey[this.groupMode], i);\r\n }\r\n if (this.searchText) {\r\n this.dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n this.sortByGroup();\r\n }\r\n}\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],\r\n exports: [TableComponent, TableColumnsMultiselectComponent],\r\n declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]\r\n})\r\nexport class TableComponentModule {\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <p-tableCheckbox [value]=\"rowData\"\r\n [ngStyle]=\"{ 'pointer-events': selectionMode === 'single' || selectionMode === 'multiple' && checkboxSelection ? 'none' : 'auto'}\"\r\n ></p-tableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: заменить на in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\n","import {Component} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-empty',\r\n templateUrl: './empty.component.html',\r\n styleUrls: ['./empty.component.scss'],\r\n})\r\nexport class EmptyComponent {\r\n\r\n\r\n}\r\n","<div class=\"status-text\">\r\n {{'no_records' | translate}}\r\n</div>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-sticky',\r\n templateUrl: './sticky.component.html',\r\n styleUrls: ['./sticky.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class InsparkStickyComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('sticky', {static: false}) stickyRef: ElementRef;\r\n @Input() top = 100;\r\n @Input() isInline = false;\r\n @Input() isFloated = true;\r\n @Input() zIndex = 10;\r\n @Input() class = '';\r\n\r\n isSticky = false;\r\n height = 0;\r\n width = 0;\r\n left = 0;\r\n right = 0;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n document.addEventListener('scroll', this.scroll);\r\n window.addEventListener('resize', this.resize);\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('scroll', this.scroll);\r\n window.removeEventListener('resize', this.resize);\r\n }\r\n\r\n resize = () => {\r\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\r\n this.width = rect.width;\r\n this.left = rect.x;\r\n this.cdr.detectChanges();\r\n };\r\n\r\n scroll = () => {\r\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\r\n const isSticky = rect.top < this.top;\r\n if (isSticky !== this.isSticky) {\r\n this.height = rect.height;\r\n this.isSticky = rect.top < this.top;\r\n this.left = rect.x;\r\n this.width = rect.width;\r\n this.right = rect.right;\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n}\r\n","<div #sticky [ngClass]=\"{inline:isInline}\" [ngStyle]=\"{height: this.height?this.height+'px':'auto'}\"\r\n class=\"sticky-container\">\r\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\r\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\r\n <div [ngClass]=\"class + ' u-overflow-hidden'\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class InsparkHeaderComponent implements OnInit {\r\n\r\n @Input() level = 1;\r\n @Input() label = '';\r\n @Input() isWrappable = false;\r\n @Input() lineClamp = 4;\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.level = Math.max(Math.min(this.level, 6), 1);\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"{ h1: level === 1, h2: level === 2, h3: level === 3,\r\n h4: level === 4, h5: level === 5, h6:level === 6,\r\n 'is-wrappable': isWrappable }\"\r\n class=\"header u-margin-bottom-tiny u-margin-top-small line-clamp-{{lineClamp}}\">\r\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div class=\"buttons\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n entryComponents: []\r\n})\r\nexport class ToolbarComponent implements OnInit {\r\n\r\n\r\n @Input() title: string;\r\n display = false;\r\n objects;\r\n\r\n selected: any;\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public clickedOutsideOverlay(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n this.display = false;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\r\nimport {MenuItem} from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'in-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n\r\n @Input() items: MenuItem[];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<div>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-file',\r\n templateUrl: './file.component.html',\r\n styleUrls: ['./file.component.css'],\r\n})\r\nexport class FileComponent {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() accept: string = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n @ViewChild('fileInput', {static: false}) el: ElementRef;\r\n\r\n file: File = null;\r\n\r\n onClear() {\r\n this.file = null;\r\n this.onChange.emit(this.file);\r\n this.el.nativeElement.value = '';\r\n }\r\n\r\n onClickChoose() {\r\n this.el.nativeElement.click();\r\n }\r\n\r\n onChangeFile(e) {\r\n e.preventDefault();\r\n if (e.srcElement.files[0]) {\r\n this.file = e.srcElement.files[0];\r\n this.onChange.emit(this.file);\r\n }\r\n }\r\n\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\r\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\r\n\r\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\ntype IconPos = 'left' | 'right';\r\n\r\nexport interface SelectOption {\r\n label: string;\r\n title?: string;\r\n value: string | number | boolean; // важно: примитив\r\n icon?: string;\r\n readonly?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'in-select-button',\r\n templateUrl: './select-button.component.html',\r\n styleUrls: ['./select-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SelectButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SelectButtonComponent\r\n implements ControlValueAccessor, OnInit, OnChanges {\r\n\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() error = '';\r\n @Input() iconPos: IconPos = 'left';\r\n @Input() options: SelectOption[] = [];\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() multiple = false;\r\n @Input() initial?: Array<string | number | boolean>;\r\n\r\n @Output() focus = new EventEmitter<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() click = new EventEmitter<any>();\r\n @Output() change = new EventEmitter<any>();\r\n\r\n // хранит выбранные ЗНАЧЕНИЯ, а не объекты\r\n selected: Array<string | number | boolean> = [];\r\n\r\n // то, что отдаем наружу в форму\r\n value: string | number | boolean | Array<string | number | boolean> | null = null;\r\n\r\n private propagateChange: (val: any) => void = () => {};\r\n private propagateTouched: () => void = () => {};\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // применяем initial только когда он реально поменялся\r\n if (changes['initial'] && this.initial) {\r\n this.selected = [...this.initial];\r\n this.value = this.multiple ? [...this.initial] : this.initial[0] ?? null;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // если меняется список опций, надо попытаться восстановить выделение\r\n if (changes['options'] && this.options && this.options.length > 0) {\r\n this.syncSelectedWithOptions();\r\n }\r\n }\r\n\r\n clickButton(option: SelectOption): void {\r\n if (option.readonly || this.disabled) {\r\n return;\r\n }\r\n\r\n this.click.emit(option);\r\n\r\n if (this.multiple) {\r\n if (this.selected.includes(option.value)) {\r\n // убираем\r\n this.selected = this.selected.filter(v => v !== option.value);\r\n } else {\r\n // добавляем\r\n this.selected = [...this.selected, option.value];\r\n }\r\n this.value = [...this.selected];\r\n } else {\r\n this.selected = [option.value];\r\n this.value = option.value;\r\n }\r\n\r\n this.cdRef.detectChanges();\r\n this.onChange();\r\n }\r\n\r\n // ControlValueAccessor: model -> view\r\n writeValue(value: any): void {\r\n this.value = value;\r\n\r\n if (value === null || value === undefined) {\r\n this.selected = [];\r\n } else if (Array.isArray(value)) {\r\n // multiple\r\n this.selected = [...value];\r\n } else {\r\n // single\r\n this.selected = [value];\r\n }\r\n\r\n // когда значение пришло извне, надо убедиться что такие опции есть\r\n this.syncSelectedWithOptions();\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // ControlValueAccessor\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n // ControlValueAccessor\r\n registerOnTouched(fn: any): void {\r\n this.propagateTouched = fn;\r\n }\r\n\r\n // ControlValueAccessor: disabled\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // пробросить наружу\r\n private onChange(): void {\r\n this.propagateChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n onBlur(): void {\r\n this.propagateTouched();\r\n this.blur.emit();\r\n }\r\n\r\n onFocus(): void {\r\n this.focus.emit();\r\n }\r\n\r\n // синхронизируем текущее выбранное со свежими options\r\n private syncSelectedWithOptions(): void {\r\n if (!this.options || this.options.length === 0) {\r\n return;\r\n }\r\n\r\n if (this.multiple) {\r\n // оставляем только те выбранные, которые реально есть в новых options\r\n const optionValues = this.options.map(o => o.value);\r\n this.selected = this.selected.filter(v => optionValues.includes(v));\r\n this.value = [...this.selected];\r\n } else {\r\n if (this.selected.length > 0) {\r\n const current = this.selected[0];\r\n const found = this.options.find(o => o.value === current);\r\n if (!found) {\r\n // выбранного больше нет в списке\r\n this.selected = [];\r\n this.value = null;\r\n } else {\r\n this.selected = [found.value];\r\n this.value = found.value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // для *ngFor trackBy\r\n trackByValue(index: number, item: SelectOption): string | number | boolean {\r\n return item.value;\r\n }\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- фиктивная кнопка если нужна разметка -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\r\nimport {CircleMode, CircleSize} from \"../../interface\";\r\n\r\n\r\n@Component({\r\n selector: 'in-status-circle',\r\n templateUrl: './status-circle.component.html',\r\n styleUrls: ['./status-circle.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class StatusCircleComponent {\r\n\r\n\r\n @Input() label = '';\r\n @Input() title = '';\r\n @Input() icon = '';\r\n @Input() inIcon = '';\r\n @Input() showLabel = true;\r\n @Input() mode: CircleMode = 'success';\r\n @Input() size: CircleSize = 'normal';\r\n @Input() content: any = '';\r\n\r\n}\r\n","<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\r\n class=\"circle-container {{size}}\"\r\n title=\"{{title ? title : label}}\">\r\n <span class=\"circle {{mode}}\">\r\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\r\n <i *ngIf=\"inIcon\" [ngClass]=\"inIcon\" class=\"in\"></i>\r\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\r\n </span>\r\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\r\n</div>\r\n","import {ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-switcher',\r\n templateUrl: './switcher.component.html',\r\n styleUrls: ['./switcher.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SwitcherComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class SwitcherComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() error = null;\r\n @Input() iconOff = '';\r\n @Input() iconOn = '';\r\n @Input() labelOff = 'Off';\r\n @Input() labelOn = 'On';\r\n @Input() faIconOn = '';\r\n @Input() faIconOff = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() waiting?: boolean;\r\n\r\n @Output() change: EventEmitter<any> = new EventEmitter();\r\n\r\n _isBoolean = false;\r\n\r\n value: boolean;\r\n\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this._isBoolean = typeof this.value === 'boolean';\r\n this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this._isBoolean = typeof value === 'boolean';\r\n this.value = value;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n onChange(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if (this._isBoolean) {\r\n this.propagateChange(this.value);\r\n this.change.emit(this.value);\r\n\r\n } else {\r\n this.propagateChange(this.value ? 1 : 0);\r\n this.change.emit(this.value ? 1 : 0);\r\n }\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-checkbox c-checkbox_switch container\">\r\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\r\n <span class=\"switcher-container\">\r\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\r\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\r\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\"\r\n class=\"c-checkbox__input\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\r\n <span *ngIf=\"waiting\" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"in in-spinner fa-spin \"></i></span>\r\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\r\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\r\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n </span>\r\n</label>\r\n","import {Component, Input} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-inline-message',\r\n templateUrl: './inline-message.component.html',\r\n styleUrls: ['./inline-message.component.scss'],\r\n})\r\nexport class InlineMessageComponent {\r\n\r\n\r\n @Input() message = '';\r\n @Input() align: 'center' | 'left' | 'right' = 'center';\r\n\r\n}\r\n","<div [ngClass]=\"align\" class=\"message\">\r\n {{message}}\r\n <ng-content></ng-content>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MenuItem} from 'primeng/api';\r\nimport {Menu} from 'primeng/menu';\r\n\r\n\r\ntype LinkColor = 'normal' | 'secondary' | 'danger' | 'primary' | 'transparent';\r\ntype IconPos = 'left' | 'right';\r\n\r\n@Component({\r\n selector: 'in-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.scss'],\r\n})\r\nexport class LinkComponent implements OnInit, OnChanges {\r\n\r\n @Input() color: LinkColor = 'normal';\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() className = '';\r\n @Input() svg = '';\r\n @Input() link = '';\r\n /**\r\n * external - ссылка на внешний источник\r\n * internal - ссылка внутри приложения\r\n * auto - определяется автоматически исходя из link\r\n */\r\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n /**\r\n * self - открывается в этом же окне\r\n * blank - открывается в новом окне\r\n * auto - определяется автоматически исходя из linkType\r\n */\r\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\r\n\r\n\r\n // Отображает кнопку нажатой\r\n @Input() pressed = false;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() iconPos: IconPos = 'left';\r\n @Input() menuItems: MenuItem[] = [];\r\n\r\n @ViewChild(Menu, {static: false}) _menu !: Menu;\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() click: EventEmitter<any> = new EventEmitter();\r\n\r\n style={}\r\n\r\n _target = '_self';\r\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n\r\n isMaterialIcon = false;\r\n\r\n ngOnInit() {\r\n\r\n\r\n this.updateData();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.updateData();\r\n }\r\n\r\n updateData() {\r\n this._linkType = this.linkType;\r\n\r\n if (this._linkType === 'auto') {\r\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\r\n this._linkType = 'external';\r\n } else {\r\n this._linkType = 'internal';\r\n }\r\n }\r\n\r\n if (this.linkTarget === 'auto') {\r\n if (this._linkType === 'external') {\r\n this._target = '_blank';\r\n } else {\r\n this._target = '_self';\r\n }\r\n } else {\r\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\r\n }\r\n\r\n if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('fa-') === -1) {\r\n this.isMaterialIcon = true;\r\n } else {\r\n this.isMaterialIcon = false;\r\n }\r\n }\r\n\r\n _onClick($event: Event) {\r\n // if (!this.link) {\r\n // $event.stopPropagation();\r\n // $event.preventDefault();\r\n // this.click.emit($event);\r\n // }\r\n if (this.menuItems.length) {\r\n this._menu.toggle($event);\r\n }\r\n }\r\n}\r\n","<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link &&_linkType ==='external'\"\r\n [class]=\"className\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"!link\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</span>\r\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <span *ngIf=\"svg\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\">\r\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n </span>\r\n <span class=\"p-link-text p-clickable\">{{label}}</span>\r\n\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TableComponentModule} from '../table/table.component';\r\nimport {PipesModule} from '../../pipes/pipes.module';\r\nimport {TableRowData} from '../../utils/hybrid/prime-table/table-row-data.model';\r\nimport {TableColumns} from '../../interface';\r\nimport {TreeTableModule} from 'primeng/treetable';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'in-tree-table',\r\n templateUrl: './tree-table.component.html',\r\n styleUrls: ['./tree-table.component.scss'],\r\n entryComponents: [],\r\n})\r\nexport class TreeTableComponent implements AfterContentInit {\r\n\r\n @Input() columns: TableColumns[] = [];\r\n @Input() values = [];\r\n @Input() scrollHeight: string;\r\n @Input() scrollable: boolean;\r\n @Input() selectionMode: string;\r\n @Input() label: string;\r\n @Input() error: string;\r\n @Input() class: string;\r\n @Input() required: boolean;\r\n @Input() style: any;\r\n @Input() toolbar: any;\r\n @Input() checkboxSelection = true;\r\n @Input() active;\r\n @Input() sortField;\r\n @Input() isAscending;\r\n @Input() dataKey;\r\n\r\n @Output() activeChange = new EventEmitter<any>();\r\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() collapseAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupAddAction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n headerTemplate: TemplateRef<any>;\r\n bodyTemplate: TemplateRef<any>;\r\n loadingBodyTemplate: TemplateRef<any>;\r\n captionTemplate: TemplateRef<any>;\r\n frozenRowsTemplate: TemplateRef<any>;\r\n footerTemplate: TemplateRef<any>;\r\n summaryTemplate: TemplateRef<any>;\r\n colGroupTemplate: TemplateRef<any>;\r\n expandedRowTemplate: TemplateRef<any>;\r\n frozenHeaderTemplate: TemplateRef<any>;\r\n frozenBodyTemplate: TemplateRef<any>;\r\n frozenFooterTemplate: TemplateRef<any>;\r\n frozenColGroupTemplate: TemplateRef<any>;\r\n emptyMessageTemplate: TemplateRef<any>;\r\n paginatorLeftTemplate: TemplateRef<any>;\r\n paginatorRightTemplate: TemplateRef<any>;\r\n valueTemplate: TemplateRef<any>;\r\n searchText: string;\r\n rowIndex = 0;\r\n isCollapse = true;\r\n _selection = null;\r\n\r\n @Input() set selection(val) {\r\n this._selection = val;\r\n }\r\n\r\n get selectionValue() {\r\n return this._selection;\r\n }\r\n\r\n set selectionValue(val) {\r\n this._selection = val;\r\n this.selectionChange.emit(val);\r\n }\r\n\r\n public isRowActive(row: TableRowData) {\r\n return this.active && this.active.id === row.id;\r\n }\r\n\r\n public visibleColumns(): TableColumns[] {\r\n return this.columns.filter(column => !column.isHidden);\r\n }\r\n\r\n public columnsChange(data) {\r\n data.column.isHidden = !data.event;\r\n }\r\n ngAfterContentInit() {\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'caption':\r\n this.captionTemplate = item.template;\r\n break;\r\n\r\n case 'header':\r\n this.headerTemplate = item.template;\r\n break;\r\n\r\n case 'body':\r\n this.bodyTemplate = item.template;\r\n break;\r\n case 'value':\r\n this.valueTemplate = item.template;\r\n break;\r\n\r\n case 'loadingbody':\r\n this.loadingBodyTemplate = item.template;\r\n break;\r\n\r\n case 'footer':\r\n this.footerTemplate = item.template;\r\n break;\r\n\r\n case 'summary':\r\n this.summaryTemplate = item.template;\r\n break;\r\n\r\n case 'colgroup':\r\n this.colGroupTemplate = item.template;\r\n break;\r\n\r\n case 'rowexpansion':\r\n this.expandedRowTemplate = item.template;\r\n break;\r\n\r\n case 'frozenrows':\r\n this.frozenRowsTemplate = item.template;\r\n break;\r\n\r\n case 'frozenheader':\r\n this.frozenHeaderTemplate = item.template;\r\n break;\r\n\r\n case 'frozenbody':\r\n this.frozenBodyTemplate = item.template;\r\n break;\r\n\r\n case 'frozenfooter':\r\n this.frozenFooterTemplate = item.template;\r\n break;\r\n\r\n case 'frozencolgroup':\r\n this.frozenColGroupTemplate = item.template;\r\n break;\r\n\r\n case 'emptymessage':\r\n this.emptyMessageTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorleft':\r\n this.paginatorLeftTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorright':\r\n this.paginatorRightTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n collapse(event, dt) {\r\n this.values.forEach((node) => {\r\n this.toggleCollapse(node, this.isCollapse);\r\n });\r\n this.isCollapse = !this.isCollapse;\r\n dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n\r\n toggleCollapse(node: any, isCollapsed: boolean) {\r\n\r\n if (node.children) {\r\n node.expanded = isCollapsed;\r\n for (const cn of node.children) {\r\n if (cn) {\r\n this.toggleCollapse(cn, isCollapsed);\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],\r\n exports: [TreeTableComponent],\r\n declarations: [TreeTableComponent]\r\n})\r\nexport class TreeTableComponentModule {\r\n}\r\n","<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || 'Добавить'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || 'Добавить группу'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || 'Удалить'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: заменить на in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"Сохранить как CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-radiobutton',\r\n templateUrl: './radiobutton.component.html',\r\n styleUrls: ['./radiobutton.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadiobuttonComponent {\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() value;\r\n @Input() values;\r\n @Input() keyLabel;\r\n @Input() item;\r\n @Output() change = new EventEmitter();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n onChangeEvent(value) {\r\n this.change.next({name: this.name, value});\r\n }\r\n}\r\n","<ng-container *ngFor=\"let element of values\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\n","import {\r\n Component, OnInit,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\r\nimport {gettext} from \"../../utils/gettextMarker.function\";\r\nimport {DynamicDialogConfig, DynamicDialogRef} from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'app-select-list',\r\n templateUrl: './select-list.component.html',\r\n styleUrls: ['./select-list.component.scss'],\r\n})\r\nexport class SelectListComponent implements OnInit {\r\n\r\n objects: any[];\r\n selected: Boolean[];\r\n title: string;\r\n objs;\r\n options: {value: string, checked: boolean}[] = null;\r\n isShowSpinner = false;\r\n\r\n constructor(public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: InsparkMessageService,\r\n public router: Router,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.config.data.command.options.map(item => {\r\n return {value: item, checked: false};\r\n }\r\n );\r\n this.selected = Array(this.options.length).fill(false);\r\n }\r\n\r\n closeModal(val = null) {\r\n this.ref.close(val);\r\n }\r\n\r\n applySelection() {\r\n if (!this.selected) {\r\n this.messageService.message(gettext('Select object'));\r\n return;\r\n } else {\r\n this.closeModal({selected: this.options.filter(o => o.checked)});\r\n }\r\n\r\n }\r\n\r\n\r\n select(i) {\r\n this.options[i].checked = !this.options[i].checked;\r\n }\r\n\r\n\r\n\r\n highlight(value: string, text): string {\r\n const regex = new RegExp('(' + text + ')', 'gi');\r\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\r\n }\r\n}\r\n","<div class=\"c-panel__heading-title h4\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-object-tree',\r\n templateUrl: './object-tree.component.html',\r\n styleUrls: ['./object-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ObjectTreeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>object-tree works!</p>\r\n","import {\r\n Component, OnInit,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\r\nimport {gettext} from \"../../utils/gettextMarker.function\";\r\nimport {DynamicDialogConfig, DynamicDialogRef} from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'app-modal-input-text',\r\n templateUrl: './modal-input-text.component.html',\r\n styleUrls: ['./modal-input-text.component.scss'],\r\n})\r\nexport class ModalInputTextComponent implements OnInit {\r\n\r\n objects: any[];\r\n selected: Boolean[];\r\n title: string;\r\n objs;\r\n options: {value: string, checked: boolean}[] = null;\r\n param: any;\r\n isShowSpinner = false;\r\n maxLength = 0;\r\n\r\n constructor(public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private translateService: TranslateService,\r\n private messageService: InsparkMessageService,\r\n public router: Router,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.param = this.config.data.command.param;\r\n this.options = this.config.data.command.options.map(item => {\r\n return {value: item, checked: false};\r\n }\r\n );\r\n if (this.options && this.options.length > 0) {\r\n this.calculateWidth();\r\n }\r\n this.selected = Array(this.options.length).fill(false);\r\n }\r\n\r\n closeModal(val = null) {\r\n this.ref.close(val);\r\n }\r\n\r\n applySelection() {\r\n if (!this.selected) {\r\n this.messageService.message(gettext('Select object'));\r\n return;\r\n } else {\r\n this.closeModal(\r\n {\r\n selected: this.options.filter(o => o.checked),\r\n param: this.param ? this.param.value : undefined\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n select(i) {\r\n this.options[i].checked = !this.options[i].checked;\r\n }\r\n\r\n checkSelected() {\r\n if (this.param) {\r\n return !this.param.value;\r\n } else if (this.options) {\r\n return this.options.filter(opt => opt.checked).length === 0;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n highlight(value: string, text): string {\r\n const regex = new RegExp('(' + text + ')', 'gi');\r\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\r\n }\r\n\r\n calculateWidth() {\r\n this.options.forEach(opt => {\r\n if (opt.value.length * 7 > this.maxLength) {\r\n this.maxLength = opt.value.length * 7 + 100;\r\n }\r\n });\r\n }\r\n\r\n translate(str: string) {\r\n const splited = str.split('\\n');\r\n let translated = '';\r\n splited.forEach(s => translated += this.translateService.instant(s) + '\\n');\r\n return translated;\r\n }\r\n}\r\n","<div class=\"c-panel__heading-title h4\">\r\n {{'Enter parameter value' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\r\n <div *ngFor=\"let item of options; let i = index\">\r\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\r\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\r\n {{item.value}}\r\n </span>\r\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\r\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\r\n <i class=\"p-chkbox-box c-checkbox__icon\" ></i>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\r\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\r\n <div class=\"c-form-group\">\r\n <label class=\"c-label type_varchars\">\r\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\r\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"\r\n [name]=\"'Cancel'\"\r\n ></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n [name]=\"'Apply'\"\r\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n","import {ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-content-toggle',\r\n templateUrl: './content-toggle.component.html',\r\n styleUrls: ['./content-toggle.component.scss'],\r\n})\r\nexport class ContentToggleComponent implements OnInit {\r\n\r\n @Input() label: any;\r\n @Input() defaultOpen: boolean = true;\r\n @Input() isOpen = this.defaultOpen;\r\n @Input() icon: string = null;\r\n @Input() manualArrow: boolean = true;\r\n\r\n @Output() toggle: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChild('buttons', {static: true}) elementButtons: ElementRef;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.isOpen = this.defaultOpen\r\n }\r\n\r\n toggleOpen(e: MouseEvent) {\r\n // Получаем родительский элемент div\r\n const parentElement = this.elementButtons.nativeElement;\r\n\r\n // Проверяем, входит ли цель события в родительский элемент\r\n if (!parentElement.contains(e.target) || e.target === parentElement) {\r\n this.isOpen = !this.isOpen;\r\n this.toggle.emit(this.isOpen);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n }\r\n}\r\n","<div class=\"block\" (click)=\"toggleOpen($event)\" tabIndex=\"1\">\r\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\r\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\r\n <ng-content select=\"[arrow]\"></ng-content>\r\n </span>\r\n <span class=\"label\">\r\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\r\n {{label}}\r\n </span>\r\n <span class=\"counter\">\r\n <ng-content select=\"[header]\"></ng-content>\r\n </span>\r\n <div class=\"buttons\" #buttons>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"container\" *ngIf=\"isOpen\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n</div>\r\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-input-group',\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputGroupComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class InputGroupComponent implements ControlValueAccessor, OnInit {\r\n\r\n isEditableView: boolean;\r\n\r\n @Input() name = null;\r\n @Input() measureunit = null;\r\n @Input() autocomplete = true;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() size = 100000;\r\n @Input() maxlength = 100000;\r\n @Input() width = 'auto';\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() testId = null;\r\n @Input() disabled: boolean;\r\n @Input() opacity = true;\r\n @Input() shadow = false;\r\n @Input() isEditMode = true;\r\n @Input() isMeasurementVisible = true;\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() updateValue: EventEmitter<any> = new EventEmitter();\r\n @Output() disableEditableView: EventEmitter<any> = new EventEmitter();\r\n\r\n validators = [/^-?\\d*\\.?\\d*$/];\r\n value: string;\r\n _value;\r\n isEditable = true;\r\n\r\n ngOnInit() {\r\n this._value = this.value;\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value ? value : this.name;\r\n this._value = this.value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n private onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n cancel() {\r\n this.isEditable = false;\r\n this.disableEditableView.emit(false);\r\n this.value = this._value;\r\n }\r\n\r\n numberOnly(event): boolean {\r\n if (event.keyCode === 8) {\r\n return true;\r\n }\r\n let test = '';\r\n if (this.value) {\r\n test = this.value + event.key;\r\n } else {\r\n test = event.key;\r\n }\r\n return this.validators[0].test(test);\r\n }\r\n\r\n changeEditMode() {\r\n this.isEditable = !this.isEditable;\r\n }\r\n\r\n //\r\n // disableEditableView() {\r\n // this.isEditableView.emit(false);\r\n // }\r\n\r\n changeValue(value: any): void {\r\n this.value = value;\r\n this._value = this.value;\r\n // this.isEditable = false;\r\n this.updateValue.emit(value);\r\n this.disableEditableView.emit(false);\r\n }\r\n\r\n isApplyDisabled() {\r\n return this.value != null ? false : true;\r\n }\r\n\r\n}\r\n","<label class=\"label type_varchars\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"isMeasurementVisible\" class=\"p-inputgroup-addon p-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\r\n <span class=\"p-inputgroup-addon__content\">{{measureunit}}</span>\r\n </span>\r\n <input (focus)=\"this.focus.emit($event)\"\r\n (keydown)=\"numberOnly($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled || !isEditable\"\r\n [id]=\"id\"\r\n [maxlength]=\"30\"\r\n [ngStyle]=\"{minWidth: '48px', textAlign: 'left', width: '100%'}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n class=\"p-inputtext c-input c-input_large field_{{id}}\"\r\n type=\"text\"/>\r\n <in-button (click)=\"changeValue(value)\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"isApplyDisabled()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'apply'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Apply' | translate\"\r\n icon=\"in in-check\"></in-button>\r\n <in-button (click)=\"cancel()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'cancel'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Cancel' | translate\"\r\n color=\"transparent\"\r\n icon=\"in in-close\"></in-button>\r\n </div>\r\n\r\n</label>\r\n\r\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\r\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\r\n<!-- [disabled]=\"isApplyDisabled()\"-->\r\n<!-- [isIconOnly]=\"true\"-->\r\n<!-- [label]=\"\"-->\r\n<!-- [name]=\"'apply'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\r\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [name]=\"'cancel'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\r\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px',-->\r\n<!-- 'display': 'inline-block',-->\r\n<!-- 'line-height': '2px',-->\r\n<!-- position: 'relative',-->\r\n<!-- left: '80px',-->\r\n<!-- top: '2px',-->\r\n<!-- opacity: isEditable ? '0' : '1',-->\r\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Edit' | translate\"-->\r\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\r\n<!--</div>-->\r\n\r\n","import {NgModule} from '@angular/core';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n\r\n@NgModule({\r\n imports: [\r\n DropdownModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n DropdownModule\r\n ],\r\n entryComponents: []\r\n})\r\nexport class PrimengComponentsModule {\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {PrimengComponentsModule} from '../primeng.module';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TooltipModule} from 'primeng/tooltip';\r\nimport {ButtonModule} from 'primeng/button';\r\nimport {AutoComplete} from 'primeng/autocomplete';\r\n\r\n@Component({\r\n selector: 'in-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n animations: [trigger('overlayAnimation', [transition(':enter', [style({\r\n opacity: 0,\r\n transform: 'scaleY(0.8)'\r\n }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({opacity: 0}))])])],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class AutoCompleteComponent extends AutoComplete implements AfterContentInit, ControlValueAccessor {\r\n @Input() minLength: number = 1;\r\n\r\n @Input() delay: number = 300;\r\n\r\n @Input() style: any;\r\n\r\n @Input() panelStyle: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() panelStyleClass: string;\r\n\r\n @Input() inputStyle: any;\r\n\r\n @Input() inputId: string;\r\n\r\n @Input() inputStyleClass: string;\r\n\r\n @Input() placeholder: string;\r\n\r\n @Input() readonly: boolean;\r\n\r\n @Input() disabled: boolean;\r\n\r\n @Input() maxlength: number;\r\n\r\n @Input() name: string;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() size: number;\r\n\r\n @Input() appendTo: any;\r\n\r\n @Input() autoHighlight: boolean;\r\n\r\n @Input() forceSelection: boolean;\r\n\r\n @Input() type: string = 'text';\r\n\r\n @Input() autoZIndex: boolean = true;\r\n\r\n @Input() baseZIndex: number = 0;\r\n\r\n @Input() ariaLabel: string;\r\n\r\n @Input() ariaLabelledBy: string;\r\n\r\n @Input() dropdownIcon: string = \"pi pi-caret-down\";\r\n\r\n @Input() unique: boolean = true;\r\n\r\n @Output() completeMethod: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onUnselect: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClear: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onKeyUp: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input() field: string;\r\n\r\n @Input() scrollHeight: string = '200px';\r\n\r\n @Input() dropdown: boolean;\r\n\r\n @Input() dropdownMode: string = 'blank';\r\n\r\n @Input() multiple: boolean;\r\n\r\n @Input() tabindex: number;\r\n\r\n @Input() dataKey: string;\r\n\r\n @Input() emptyMessage: string;\r\n\r\n @Input() immutable: boolean = true;\r\n\r\n @Input() showTransitionOptions: string = '225ms ease-out';\r\n\r\n @Input() hideTransitionOptions: string = '195ms ease-in';\r\n\r\n @Input() autofocus: boolean;\r\n\r\n @Input() autocomplete: string = 'off';\r\n\r\n @ViewChild('in', {static: false}) inputEL: ElementRef;\r\n\r\n @ViewChild('multiIn', {static: false}) multiInputEL: ElementRef;\r\n\r\n @ViewChild('multiContainer', {static: false}) multiContainerEL: ElementRef;\r\n\r\n @ViewChild('ddBtn', {static: false}) dropdownButton: ElementRef;\r\n\r\n @ContentChildren(InsparkTemplate) templates: QueryList<any>;\r\n\r\n\r\n ngAfterContentInit() {\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'item':\r\n this.itemTemplate = item.template;\r\n break;\r\n\r\n case 'selectedItem':\r\n this.selectedItemTemplate = item.template;\r\n break;\r\n\r\n default:\r\n this.itemTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AutoCompleteComponent,\r\n ],\r\n imports: [\r\n TooltipModule,\r\n ScrollingModule,\r\n CommonModule,\r\n PrimengComponentsModule,\r\n ButtonModule,\r\n ],\r\n exports: [\r\n AutoCompleteComponent,\r\n ],\r\n entryComponents: [\r\n AutoCompleteComponent,\r\n ]\r\n})\r\nexport class AutoCompleteComponentModule {\r\n}\r\n","<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\n","import {Injectable} from '@angular/core';\r\n\r\n\r\nexport interface PieStatuses {\r\n '-1': number;\r\n 0: number;\r\n 1: number;\r\n 2: number;\r\n 3: number;\r\n}\r\n\r\n@Injectable()\r\nexport class PieService {\r\n\r\n\r\n private colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены\r\n\r\n private colors = {\r\n 1: '#31ac51',\r\n 2: '#EE9946',\r\n 3: '#F95C5D',\r\n 4: '#a20000',\r\n 0: '#7E8087',\r\n '-1': '#85B3CB'\r\n };\r\n\r\n create(statuses: PieStatuses, size): { path: string, color: string }[] {\r\n const data = [];\r\n let allCount = 0;\r\n this.colorArray.forEach((color: any) => {\r\n allCount += statuses[color] || 0;\r\n });\r\n let cumulativePercent = 0;\r\n this.colorArray.forEach((color: any) => {\r\n const count = statuses[color];\r\n if (!count) {\r\n return;\r\n }\r\n const percent = count / allCount;\r\n const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);\r\n cumulativePercent += percent;\r\n const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);\r\n\r\n const largeArcFlag = percent > .5 ? 1 : 0;\r\n\r\n const pathData = [\r\n `M ${startX} ${startY}`, // Move\r\n `A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`, // Arc\r\n `L 0 0`, // Line\r\n ].join(' ');\r\n\r\n data.push({\r\n path: pathData,\r\n color: this.colors[color + '']\r\n });\r\n });\r\n return data;\r\n }\r\n\r\n private getCoordinatesForPercent(size, percent) {\r\n const x = size / 2 * Math.cos(2 * Math.PI * percent);\r\n const y = size / 2 * Math.sin(2 * Math.PI * percent);\r\n return [x, y];\r\n }\r\n\r\n}\r\n\r\n","// @ts-nocheck\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {PieService, PieStatuses} from './pie.service';\r\n\r\n\r\n@Component({\r\n selector: 'in-pie',\r\n templateUrl: './pie.component.html',\r\n styleUrls: ['./pie.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n providers: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ObjectPieComponent implements OnDestroy, OnChanges, OnInit {\r\n\r\n\r\n @Input() count = 30;\r\n @Input() size = 40;\r\n\r\n\r\n @Input() statuses: PieStatuses =\r\n {\r\n '-1': 20,\r\n 0: 4,\r\n 1: 3,\r\n 2: 4,\r\n 3: 5\r\n };\r\n\r\n data;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private pieService: PieService,\r\n private cdr: ChangeDetectorRef,\r\n ) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.data = this.pieService.create(this.statuses, this.size);\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","<div class=\"pie-block\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {InputTextComponent} from './input-text/input-text.component';\r\nimport {TextareaComponent} from './textarea/textarea.component';\r\nimport {PanelComponent} from './panel/panel.component';\r\nimport {ComponentContainerComponent} from './component-container/component-container.component';\r\nimport {CheckboxComponent} from './checkbox/checkbox.component';\r\nimport {DropdownComponentModule} from './dropdown/dropdown.component';\r\nimport {TableComponentModule} from './table/table.component';\r\nimport {EmptyComponent} from './empty/empty.component';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {PreloaderComponent} from './preloader/preloader.component';\r\nimport {InsparkStickyComponent} from './sticky/sticky.component';\r\nimport {InsparkHeaderComponent} from './header/header.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {BreadcrumbComponent} from './breadcrumb/breadcrumb.component';\r\nimport {FileComponent} from './file/file.component';\r\nimport {InsparkTemplate} from './inspark.shared';\r\nimport {SelectButtonComponent} from './select-button/select-button.component';\r\nimport {StatusCircleComponent} from './status-circle/status-circle.component';\r\nimport {InlineSVGModule} from 'ng-inline-svg';\r\nimport {SvgComponent} from './svg/svg.component';\r\nimport {SwitcherComponent} from './switcher/switcher.component';\r\nimport {MenuModule} from 'primeng/menu';\r\nimport {InlineMessageComponent} from './inline-message/inline-message.component';\r\nimport {SliderModule} from 'primeng/slider';\r\nimport {LinkComponent} from './link/link.component';\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {TreeTableComponentModule} from './tree-table/tree-table.component';\r\nimport {RadiobuttonComponent} from './radiobutton/radiobutton.component';\r\nimport {SelectListComponent} from './select-list/select-list.component';\r\nimport {ObjectTreeComponent} from './object-tree/object-tree.component';\r\nimport {ModalInputTextComponent} from './modal-input-text/modal-input-text.component';\r\nimport {ContentToggleComponent} from './content-toggle/content-toggle.component';\r\nimport {InputGroupComponent} from './input-group/input-group.component';\r\nimport {AutoCompleteComponentModule} from './autocomplete/autocomplete.component';\r\nimport {ObjectPieComponent} from './pie/pie.component';\r\nimport {RadioButtonModule} from 'primeng/radiobutton';\r\nimport {BreadcrumbModule} from 'primeng/breadcrumb';\r\nimport {TreeModule} from 'primeng/tree';\r\nimport {SharedModule} from 'primeng/api';\r\n\r\n@NgModule({\r\n imports: [\r\n AutoCompleteComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n DropdownComponentModule,\r\n TableComponentModule,\r\n TreeTableComponentModule,\r\n RadioButtonModule,\r\n TranslateModule,\r\n MenuModule,\r\n SliderModule,\r\n NgbModule,\r\n InlineSVGModule.forRoot({baseUrl: 'assets/images/'}),\r\n BreadcrumbModule,\r\n TreeModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n ButtonComponent,\r\n InputTextComponent,\r\n TextareaComponent,\r\n PanelComponent,\r\n ComponentContainerComponent,\r\n CheckboxComponent,\r\n EmptyComponent,\r\n PreloaderComponent,\r\n InsparkStickyComponent,\r\n InsparkHeaderComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent,\r\n FileComponent,\r\n SelectButtonComponent,\r\n ModalInputTextComponent,\r\n SelectListComponent,\r\n StatusCircleComponent,\r\n SvgComponent,\r\n SwitcherComponent,\r\n InlineMessageComponent,\r\n LinkComponent,\r\n InsparkTemplate,\r\n TooltipComponent,\r\n RadiobuttonComponent,\r\n ObjectTreeComponent,\r\n ContentToggleComponent,\r\n InputGroupComponent,\r\n ObjectPieComponent,\r\n ],\r\n exports: [\r\n ButtonComponent,\r\n InputTextComponent,\r\n TextareaComponent,\r\n PanelComponent,\r\n ComponentContainerComponent,\r\n CheckboxComponent,\r\n DropdownComponentModule,\r\n TableComponentModule,\r\n TreeTableComponentModule,\r\n EmptyComponent,\r\n PreloaderComponent,\r\n InsparkStickyComponent,\r\n InsparkHeaderComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent,\r\n FileComponent,\r\n SelectButtonComponent,\r\n ModalInputTextComponent,\r\n SelectListComponent,\r\n StatusCircleComponent,\r\n SvgComponent,\r\n SwitcherComponent,\r\n MenuModule,\r\n SliderModule,\r\n InlineMessageComponent,\r\n LinkComponent,\r\n InsparkTemplate,\r\n NgbModule,\r\n TooltipComponent,\r\n RadiobuttonComponent,\r\n ObjectTreeComponent,\r\n ContentToggleComponent,\r\n ObjectPieComponent,\r\n InputGroupComponent,\r\n AutoCompleteComponentModule\r\n ],\r\n entryComponents: [SelectListComponent, ModalInputTextComponent],\r\n schemas: [NO_ERRORS_SCHEMA]\r\n})\r\nexport class InsparkComponentsModule {\r\n}\r\n","/*\r\n * Public API Surface of inspark-components\r\n */\r\n\r\nexport {PipesModule} from \"./pipes/pipes.module\";\r\nexport {InsparkMessageService} from \"./services/inspark-message.service\";\r\nexport {InsparkDialogService} from \"./services/inspark-dialog.service\";\r\nexport {CommunicationService} from './components/communication.service';\r\nexport {InsparkComponentsModule} from \"./components/inspark.module\";\r\nexport {TableColumns} from './interface';\r\n\r\nexport {ButtonComponent} from './components/button/button.component';\r\nexport {InputTextComponent} from './components/input-text/input-text.component';\r\nexport {TextareaComponent} from './components/textarea/textarea.component';\r\nexport {PanelComponent} from './components/panel/panel.component';\r\nexport {ComponentContainerComponent} from './components/component-container/component-container.component';\r\nexport {CheckboxComponent} from './components/checkbox/checkbox.component';\r\nexport {DropdownComponentModule} from './components/dropdown/dropdown.component';\r\nexport {TableComponentModule} from './components/table/table.component';\r\nexport {EmptyComponent} from './components/empty/empty.component';\r\nexport {TranslateModule} from '@ngx-translate/core';\r\nexport {PreloaderComponent} from './components/preloader/preloader.component';\r\nexport {InsparkStickyComponent} from './components/sticky/sticky.component';\r\nexport {InsparkHeaderComponent} from './components/header/header.component';\r\nexport {ToolbarComponent} from './components/toolbar/toolbar.component';\r\nexport {BreadcrumbModule} from 'primeng/breadcrumb';\r\nexport {RadioButtonModule} from 'primeng/radiobutton';\r\nexport {SharedModule} from 'primeng/api';\r\nexport {TreeModule} from 'primeng/tree';\r\nexport {BreadcrumbComponent} from './components/breadcrumb/breadcrumb.component';\r\nexport {FileComponent} from './components/file/file.component';\r\nexport {InsparkTemplate} from './components/inspark.shared';\r\nexport {SelectButtonComponent} from './components/select-button/select-button.component';\r\nexport {StatusCircleComponent} from './components/status-circle/status-circle.component';\r\nexport {InlineSVGModule} from 'ng-inline-svg';\r\nexport {SvgComponent} from './components/svg/svg.component';\r\nexport {SwitcherComponent} from './components/switcher/switcher.component';\r\nexport {MenuModule} from 'primeng/menu';\r\nexport {InlineMessageComponent} from './components/inline-message/inline-message.component';\r\nexport {SliderModule} from 'primeng/slider';\r\nexport {LinkComponent} from './components/link/link.component';\r\nexport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nexport {TooltipComponent} from './components/tooltip/tooltip.component';\r\nexport {TreeTableComponentModule} from './components/tree-table/tree-table.component';\r\nexport {RadiobuttonComponent} from './components/radiobutton/radiobutton.component';\r\nexport {SelectListComponent} from './components/select-list/select-list.component';\r\nexport {ObjectTreeComponent} from './components/object-tree/object-tree.component';\r\nexport {ModalInputTextComponent} from './components/modal-input-text/modal-input-text.component';\r\nexport {ContentToggleComponent} from './components/content-toggle/content-toggle.component';\r\nexport {AutoCompleteComponentModule} from './components/autocomplete/autocomplete.component';\r\nexport * from './interface';\r\nexport * from './pipes/propertyValue.pipe';\r\nexport * from './pipes/time.pipe';\r\nexport * from './pipes/safeUrl.pipe';\r\nexport * from './pipes/sort-by.pipe';\r\nexport * from './components/dropdown/dropdown.component';\r\nexport * from './components/table/table.component';\r\nexport * from './components/tree-table/tree-table.component';\r\nexport * from './components/input-group/input-group.component';\r\nexport * from './components/autocomplete/autocomplete.component';\r\nexport * from './components/pie/pie.component';\r\nexport * from './components/table/table-columns-multiselect/table-columns-multiselect.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","_","PButton","i2","i4.PreloaderComponent","i5.SvgComponent","i3","i2.TableClickOutsideDirective","i3.TableMenuOverlayComponent","i4","i5","i6","i8.PropertyValuePipe","i9","i2.InsparkStickyComponent","i2.ButtonComponent","i2.SvgComponent","i4.SvgComponent","i5.TableColumnsMultiselectComponent","i6.PropertyValuePipe","i7","i2.InsparkMessageService","i5.ButtonComponent","i6.ComponentContainerComponent","i3.InsparkMessageService","i7.ButtonComponent","i8.ComponentContainerComponent","i3.ButtonComponent","i2.PieService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspark-inspark-components.mjs","sources":["../../../../projects/inspark-components/src/pipes/propertyValue.pipe.ts","../../../../projects/inspark-components/src/pipes/time.pipe.ts","../../../../projects/inspark-components/src/pipes/safeUrl.pipe.ts","../../../../projects/inspark-components/src/pipes/sort-by.pipe.ts","../../../../projects/inspark-components/src/pipes/pipes.module.ts","../../../../projects/inspark-components/src/utils/gettextMarker.function.ts","../../../../projects/inspark-components/src/services/inspark-message.service.ts","../../../../projects/inspark-components/src/services/inspark-dialog.service.ts","../../../../projects/inspark-components/src/components/communication.service.ts","../../../../projects/inspark-components/src/components/preloader/preloader.component.ts","../../../../projects/inspark-components/src/components/preloader/preloader.component.html","../../../../projects/inspark-components/src/components/svg/svg.component.ts","../../../../projects/inspark-components/src/components/svg/svg.component.html","../../../../projects/inspark-components/src/components/button/button.component.ts","../../../../projects/inspark-components/src/components/button/button.component.html","../../../../projects/inspark-components/src/components/input-text/input-text.component.ts","../../../../projects/inspark-components/src/components/input-text/input-text.component.html","../../../../projects/inspark-components/src/components/textarea/textarea.component.ts","../../../../projects/inspark-components/src/components/textarea/textarea.component.html","../../../../projects/inspark-components/src/components/panel/panel.component.ts","../../../../projects/inspark-components/src/components/panel/panel.component.html","../../../../projects/inspark-components/src/components/component-container/component-container.component.ts","../../../../projects/inspark-components/src/components/component-container/component-container.component.html","../../../../projects/inspark-components/src/components/checkbox/checkbox.component.ts","../../../../projects/inspark-components/src/components/checkbox/checkbox.component.html","../../../../projects/inspark-components/src/components/dropdown/dropdown.component.ts","../../../../projects/inspark-components/src/components/dropdown/dropdown.component.html","../../../../projects/inspark-components/src/components/inspark.shared.ts","../../../../projects/inspark-components/src/components/table/table-click-outside.directive.ts","../../../../projects/inspark-components/src/components/table/table-menu-overlay/table-menu-overlay.component.ts","../../../../projects/inspark-components/src/components/table/table-menu-overlay/table-menu-overlay.component.html","../../../../projects/inspark-components/src/components/table/table-columns-multiselect/table-columns-multiselect.component.ts","../../../../projects/inspark-components/src/components/table/table-columns-multiselect/table-columns-multiselect.component.html","../../../../projects/inspark-components/src/components/table/table.component.ts","../../../../projects/inspark-components/src/components/table/table.component.html","../../../../projects/inspark-components/src/components/empty/empty.component.ts","../../../../projects/inspark-components/src/components/empty/empty.component.html","../../../../projects/inspark-components/src/components/sticky/sticky.component.ts","../../../../projects/inspark-components/src/components/sticky/sticky.component.html","../../../../projects/inspark-components/src/components/header/header.component.ts","../../../../projects/inspark-components/src/components/header/header.component.html","../../../../projects/inspark-components/src/components/toolbar/toolbar.component.ts","../../../../projects/inspark-components/src/components/toolbar/toolbar.component.html","../../../../projects/inspark-components/src/components/breadcrumb/breadcrumb.component.ts","../../../../projects/inspark-components/src/components/breadcrumb/breadcrumb.component.html","../../../../projects/inspark-components/src/components/file/file.component.ts","../../../../projects/inspark-components/src/components/file/file.component.html","../../../../projects/inspark-components/src/components/select-button/select-button.component.ts","../../../../projects/inspark-components/src/components/select-button/select-button.component.html","../../../../projects/inspark-components/src/components/status-circle/status-circle.component.ts","../../../../projects/inspark-components/src/components/status-circle/status-circle.component.html","../../../../projects/inspark-components/src/components/switcher/switcher.component.ts","../../../../projects/inspark-components/src/components/switcher/switcher.component.html","../../../../projects/inspark-components/src/components/inline-message/inline-message.component.ts","../../../../projects/inspark-components/src/components/inline-message/inline-message.component.html","../../../../projects/inspark-components/src/components/link/link.component.ts","../../../../projects/inspark-components/src/components/link/link.component.html","../../../../projects/inspark-components/src/components/tooltip/tooltip.component.ts","../../../../projects/inspark-components/src/components/tooltip/tooltip.component.html","../../../../projects/inspark-components/src/components/tree-table/tree-table.component.ts","../../../../projects/inspark-components/src/components/tree-table/tree-table.component.html","../../../../projects/inspark-components/src/components/radiobutton/radiobutton.component.ts","../../../../projects/inspark-components/src/components/radiobutton/radiobutton.component.html","../../../../projects/inspark-components/src/components/select-list/select-list.component.ts","../../../../projects/inspark-components/src/components/select-list/select-list.component.html","../../../../projects/inspark-components/src/components/object-tree/object-tree.component.ts","../../../../projects/inspark-components/src/components/object-tree/object-tree.component.html","../../../../projects/inspark-components/src/components/modal-input-text/modal-input-text.component.ts","../../../../projects/inspark-components/src/components/modal-input-text/modal-input-text.component.html","../../../../projects/inspark-components/src/components/content-toggle/content-toggle.component.ts","../../../../projects/inspark-components/src/components/content-toggle/content-toggle.component.html","../../../../projects/inspark-components/src/components/input-group/input-group.component.ts","../../../../projects/inspark-components/src/components/input-group/input-group.component.html","../../../../projects/inspark-components/src/components/primeng.module.ts","../../../../projects/inspark-components/src/components/autocomplete/autocomplete.component.ts","../../../../projects/inspark-components/src/components/autocomplete/autocomplete.component.html","../../../../projects/inspark-components/src/components/pie/pie.service.ts","../../../../projects/inspark-components/src/components/pie/pie.component.ts","../../../../projects/inspark-components/src/components/pie/pie.component.html","../../../../projects/inspark-components/src/components/inspark.module.ts","../../../../projects/inspark-components/src/public_api.ts","../../../../projects/inspark-components/src/inspark-inspark-components.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'propertyValue'\r\n})\r\nexport class PropertyValuePipe implements PipeTransform {\r\n transform(value: any, name: string): any {\r\n if (Array.isArray(value) || !(value instanceof Object) || !name) {\r\n return value;\r\n } else if (name.indexOf('.') > -1) {\r\n const splitName: string[] = name.split(/\\.(.+)/, 2);\r\n return this.transform(value[splitName[0]], splitName[1]);\r\n } else {\r\n return value[name];\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n\r\nfunction isTime(value: string | number) {\r\n return /^[0-9]{1,2}\\:[0-9]{1,2}$/.test(value.toString());\r\n}\r\n\r\nfunction addLeadZero(num, isNegative = false) {\r\n return (isNegative ? '-' : '') + ('000' + Math.abs(num)).slice(-2);\r\n}\r\n\r\nexport function parseIntervalToMinutes(interval: string) {\r\n if (!isTime(interval)) {\r\n return 0;\r\n }\r\n\r\n const parts = interval.split(':');\r\n const hours = parseInt(parts[0], 10);\r\n const minutes = parseInt(parts[1], 10);\r\n if (isNaN(hours) || isNaN(minutes)) {\r\n throw new Error(interval + ' не может быть обработан как время HH:MM');\r\n }\r\n return 60 * hours + minutes;\r\n}\r\n\r\nexport function shortWeekdayToNum(dayKey: string) {\r\n switch (dayKey) {\r\n case 'sun':\r\n return 0;\r\n case 'mon':\r\n return 1;\r\n case 'tue':\r\n return 2;\r\n case 'wed':\r\n return 3;\r\n case 'thu':\r\n return 4;\r\n case 'fri':\r\n return 5;\r\n case 'sat':\r\n return 6;\r\n case 'd1':\r\n return 7;\r\n case 'd2':\r\n return 8;\r\n }\r\n return -1;\r\n}\r\n\r\nexport function formatNumberToTime(num) {\r\n if (isTime(num)) {\r\n return num;\r\n }\r\n const value = parseInt(num, 10);\r\n const isNegative = value < 0 ? true : false;\r\n const absValue = Math.abs(value);\r\n return addLeadZero(Math.floor(absValue / 60), isNegative) + ':' + addLeadZero(absValue % 60);\r\n}\r\n\r\nexport function numToShortWeekday(num) {\r\n const days = [\r\n 'sun',\r\n 'mon',\r\n 'tue',\r\n 'wed',\r\n 'thu',\r\n 'fri',\r\n 'sat',\r\n 'd1',\r\n 'd2'\r\n ];\r\n return days[parseInt(num, 10)] ? days[parseInt(num, 10)] : 'custom';\r\n}\r\n\r\nexport function shortToFullWeekday(day) {\r\n const days = {\r\n 'sun': 'sunday',\r\n 'mon': 'monday',\r\n 'tue': 'tuesday',\r\n 'wed': 'wednesday',\r\n 'thu': 'thursday',\r\n 'fri': 'friday',\r\n 'sat': 'saturday',\r\n 'd1': 'day1',\r\n 'd2': 'day2'\r\n };\r\n return days[day];\r\n}\r\n\r\n\r\n@Pipe({\r\n name: 'shortToFullWeekday'\r\n})\r\nexport class ShortToFullWeekdayPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n return shortToFullWeekday(value);\r\n }\r\n}\r\n\r\n/**\r\n * Pipe используется для преобразования числа в день недели\r\n * 0-6 - вс-сб, 7,8 - день1, день2\r\n */\r\n@Pipe({\r\n name: 'numToShortWeekday'\r\n})\r\nexport class NumToShortWeekdayPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n return numToShortWeekday(value);\r\n }\r\n\r\n}\r\n\r\n@Pipe({\r\n name: 'formatNumToTime'\r\n})\r\nexport class FormatNumToTime implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n if (args) {\r\n let isHour = false;\r\n let isMin = false;\r\n let isSec = false;\r\n if ((args as string).indexOf('HH') !== -1) {\r\n isHour = true;\r\n }\r\n if ((args as string).indexOf('mm') !== -1) {\r\n isMin = true;\r\n }\r\n if ((args as string).indexOf('SS') !== -1) {\r\n isSec = true;\r\n }\r\n const absValue = Math.floor(Math.abs(value / 1000));\r\n let hours = 0;\r\n let hh = '00';\r\n if (isHour) {\r\n hours = Math.floor(absValue / (60 * 60));\r\n hh = String(hours < 10 ? '0' + hours : hours);\r\n }\r\n let Mins = 0;\r\n let MM = '00';\r\n if (isMin) {\r\n Mins = Math.ceil((absValue - hours * 60 * 60) / 60);\r\n MM = String(Mins < 10 ? '0' + Mins : Mins);\r\n }\r\n let sec = 0;\r\n let ss = '00';\r\n if (isSec) {\r\n sec = absValue - hours * 60 * 60 - Mins * 60;\r\n ss = String(sec < 10 ? '0' + sec : sec);\r\n }\r\n if (isHour && isMin && isSec) {\r\n return hh + ':' + MM + ':' + ss;\r\n } else if (isHour && isMin) {\r\n return hh + ':' + MM;\r\n } else if (isMin && isSec) {\r\n return MM + ':' + ss;\r\n } else if (isHour) {\r\n return hh;\r\n } else if (isMin) {\r\n return MM;\r\n } else if (isSec) {\r\n return ss;\r\n }\r\n }\r\n return formatNumberToTime(value);\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'inDate'\r\n})\r\nexport class InDate implements PipeTransform {\r\n constructor(private translate: TranslateService) {\r\n }\r\n\r\n transform(value: any, args?: string): any {\r\n const isSec = args ? args.indexOf('ss') !== -1 : false;\r\n const isHour = args ? args.indexOf('hh') !== -1 : true;\r\n const isMin = args ? args.indexOf('MM') !== -1 : true;\r\n const date = new Date(value);\r\n const now = new Date();\r\n const time = (isHour ? `${('0' + date.getHours()).slice(-2)}` : ``)\r\n + (isMin ? `:${('0' + date.getMinutes()).slice(-2)}` : ``)\r\n + (isSec ? `:${('0' + date.getSeconds()).slice(-2)} ` : ``);\r\n if (date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()) {\r\n return this.translate.instant('today at') + ' ' + time;\r\n } else {\r\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + ('0' + date.getFullYear()).slice(-2) + ' ' + time;\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\r\n\r\n/**\r\n * Sanitize HTML\r\n */\r\n@Pipe({\r\n name: 'safeUrl'\r\n})\r\nexport class SafeUrlPipe implements PipeTransform {\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param _sanitizer: DomSanitezer\r\n */\r\n // tslint:disable-next-line\r\n constructor(protected _sanitizer: DomSanitizer) {\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n */\r\n transform(value: string): SafeResourceUrl {\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'SortByPipe'\r\n})\r\nexport class SortByPipe implements PipeTransform {\r\n transform(arr: Array<any>, options: Array<any>): any {\r\n if (arr === undefined) {\r\n return;\r\n }\r\n return arr.sort((a: any, b: any): number => {\r\n let cmp = 0;\r\n for (let i = 0; i < options.length; i++) {\r\n const x = a[options[i].sortField];\r\n const y = b[options[i].sortField];\r\n const asc = options[i].isAscending ? -1 : 1;\r\n cmp = (((x === y) ? 0 : (x < y) ? -1 * asc : 1 * asc) + cmp) * 10;\r\n }\r\n return cmp;\r\n });\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PropertyValuePipe} from './propertyValue.pipe';\r\nimport {FormatNumToTime, InDate, NumToShortWeekdayPipe, ShortToFullWeekdayPipe} from './time.pipe';\r\nimport {SafeUrlPipe} from './safeUrl.pipe';\r\nimport {SortByPipe} from \"./sort-by.pipe\";\r\n\r\n@NgModule({\r\n exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],\r\n declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]\r\n})\r\nexport class PipesModule {\r\n}\r\n","import { marker as _} from \"@biesbjerg/ngx-translate-extract-marker\";\r\n\r\nexport function gettext(a: string) : string {\r\n return _(a) as string;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {Confirmation, ConfirmationService, Message, MessageService} from 'primeng/api';\r\nimport {gettext} from \"../utils/gettextMarker.function\";\r\n\r\n@Injectable()\r\nexport class InsparkMessageService {\r\n\r\n constructor(private translate: TranslateService,\r\n private messageService: MessageService,\r\n private confirmationService: ConfirmationService) {\r\n }\r\n\r\n /**\r\n * @deprecated\r\n * @param options\r\n */\r\n public add(options: Message) {\r\n this.messageService.add(options);\r\n }\r\n\r\n public confirm(message: string, options: Confirmation) {\r\n if (options.acceptLabel) {\r\n options.acceptLabel = this.translate.instant(gettext(options.acceptLabel));\r\n }\r\n if (options.rejectLabel) {\r\n options.rejectLabel = this.translate.instant(gettext(options.rejectLabel));\r\n }\r\n this.translate.get(gettext(message)).subscribe((res: string) => {\r\n this.confirmationService.confirm({\r\n ...options,\r\n message: res\r\n });\r\n });\r\n }\r\n\r\n public success(message: string) {\r\n this.translate.get(gettext('Toast_Success_Caption')).subscribe((title: string) => {\r\n this.translate.get(message).subscribe((res: string) => {\r\n this.messageService.add({severity: 'success', summary: title, detail: res});\r\n });\r\n });\r\n }\r\n\r\n public message(message: string) {\r\n this.translate.get(gettext('Toast_Message_Caption')).subscribe((title: string) => {\r\n this.translate.get(message).subscribe((res: string) => {\r\n this.messageService.add({severity: 'info', summary: title, detail: res});\r\n });\r\n });\r\n }\r\n\r\n /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/\r\n public error(message: string) {\r\n const title = this.getToastErrorTitleLocalized();\r\n // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {\r\n this.translate.get(gettext(message)).subscribe((res: string) => {\r\n this.messageService.add({severity: 'error', summary: title, detail: res});\r\n });\r\n // });\r\n }\r\n\r\n private getToastErrorTitleLocalized(): string {\r\n const ilocale = localStorage.getItem('ilocale_');\r\n if (ilocale && ilocale.replace(/\"/g, '') === 'en-US') {\r\n return 'Error';\r\n }\r\n return 'Ошибка';\r\n /*\r\n if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/\"/g, ''))) {\r\n this.localeService.setLocale(ilocale.replace(/\"/g, ''));\r\n this.translate.use(this.localeService.locale$.getValue().short);\r\n }\r\n */\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n ComponentFactoryResolver,\r\n ApplicationRef,\r\n Injector,\r\n Type,\r\n EmbeddedViewRef,\r\n ComponentRef\r\n} from '@angular/core';\r\nimport {\r\n DynamicDialogComponent,\r\n DynamicDialogRef,\r\n DynamicDialogConfig,\r\n DynamicDialogInjector\r\n} from \"primeng/dynamicdialog\";\r\n\r\n\r\n@Injectable()\r\nexport class InsparkDialogService {\r\n private dialogComponentRefs: ComponentRef<DynamicDialogComponent>[] = [];\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {}\r\n\r\n public open(componentType: Type<any>, config: DynamicDialogConfig): DynamicDialogRef {\r\n const dialogRef = this.appendDialogComponentToBody(componentType, config);\r\n\r\n // Зафиксируем скролл (можно делать только для первого окна)\r\n if (this.dialogComponentRefs.length === 1) {\r\n document.body.style.top = `-${window.scrollY}px`;\r\n document.body.style.position = 'fixed';\r\n }\r\n\r\n dialogRef.onClose.subscribe(() => {\r\n this.removeDialogComponent(dialogRef);\r\n\r\n // Восстановим скролл только если это последнее окно\r\n if (this.dialogComponentRefs.length === 0) {\r\n const scrollY = document.body.style.top;\r\n document.body.style.position = '';\r\n document.body.style.top = '';\r\n window.scrollTo(0, parseInt(scrollY || '0') * -1);\r\n }\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(\r\n componentType: Type<any>,\r\n config: DynamicDialogConfig\r\n ): DynamicDialogRef {\r\n const map = new WeakMap();\r\n map.set(DynamicDialogConfig, config);\r\n\r\n const dialogRef = new DynamicDialogRef();\r\n map.set(DynamicDialogRef, dialogRef);\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);\r\n const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));\r\n\r\n componentRef.instance.childComponentType = componentType;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRefs.push(componentRef);\r\n\r\n dialogRef.onClose.subscribe(() => {\r\n this.removeDialogComponent(dialogRef);\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponent(dialogRef: DynamicDialogRef) {\r\n const componentRef = this.dialogComponentRefs.find(ref => (ref.instance as any).dialogRef === dialogRef);\r\n\r\n if (!componentRef) return;\r\n\r\n this.appRef.detachView(componentRef.hostView);\r\n componentRef.destroy();\r\n\r\n this.dialogComponentRefs = this.dialogComponentRefs.filter(ref => ref !== componentRef);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CommunicationService {\r\n\r\n\r\n private messageSource = {};\r\n message$ = {};\r\n\r\n create(id: number) {\r\n if (!this.messageSource[id]) {\r\n this.messageSource[id] = new Subject();\r\n this.message$[id] = this.messageSource[id].asObservable();\r\n }\r\n }\r\n\r\n next(widgetId: number, value: any) {\r\n this.create(widgetId);\r\n this.messageSource[widgetId].next(value);\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\n\r\n\r\ntype PreloaderSize = 'small' | 'normal';\r\n\r\n@Component({\r\n selector: 'in-preloader',\r\n templateUrl: './preloader.component.html',\r\n styleUrls: ['./preloader.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class PreloaderComponent implements OnInit {\r\n\r\n @Input() inline = false;\r\n @Input() overlay = false;\r\n @Input() size: PreloaderSize = 'normal';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\n","import {Component, Input} from '@angular/core';\r\nimport {Button as PButton} from 'primeng/button';\r\n\r\n\r\ntype SVGSize = 'small' | 'normal' | 'large';\r\n\r\n@Component({\r\n selector: 'in-svg',\r\n templateUrl: './svg.component.html',\r\n styleUrls: ['./svg.component.scss'],\r\n})\r\nexport class SvgComponent extends PButton {\r\n\r\n @Input() size: SVGSize = 'normal';\r\n @Input() width = '100%';\r\n @Input() height = '100%';\r\n @Input() src: string;\r\n\r\n}\r\n","<span [inlineSVG]=\"src\"\r\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\r\n\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild, ViewEncapsulation, HostListener, HostBinding} from '@angular/core';\r\nimport {Button as PButton} from 'primeng/button';\r\nimport {InsparkMenuItem} from '../../interface';\r\nimport {Menu} from 'primeng/menu';\r\n\r\n\r\ntype ButtonSize = 'small' | 'normal' | 'large' | 'tiny';\r\ntype ButtonColor = 'normal' | 'danger' | 'primary' | 'secondary' | 'transparent';\r\ntype ButtonType = 'button' | 'submit';\r\ntype IconPos = 'left' | 'right';\r\ntype ButtonNotify = 'warning' | 'error';\r\n\r\n\r\n@Component({\r\n selector: 'in-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent extends PButton implements OnInit, OnChanges {\r\n\r\n @Input() size: ButtonSize = 'normal';\r\n @Input() color: ButtonColor = 'normal';\r\n @Input() type: ButtonType = 'button';\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() className = '';\r\n @Input() notify: ButtonNotify = null;\r\n @Input() svg = '';\r\n @Input() width = 'auto';\r\n @Input() link = '';\r\n @Input() isLoading = false;\r\n @Input() shadow = false;\r\n @Input() isIconOnly = false;\r\n\r\n /**\r\n * external - ссылка на внешний источник\r\n * internal - ссылка внутри приложения\r\n * auto - определяется автоматически исходя из link\r\n */\r\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n /**\r\n * self - открывается в этом же окне\r\n * blank - открывается в новом окне\r\n * auto - определяется автоматически исходя из linkType\r\n */\r\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\r\n\r\n\r\n // Отображает кнопку нажатой\r\n @Input() pressed = false;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() iconPos: IconPos = 'left';\r\n\r\n @Input() selectedItem = null;\r\n @Input() menuPlacement = 'bottom-left';\r\n @Input() menuItems: InsparkMenuItem[] = [];\r\n\r\n @ViewChild(Menu, {static: false}) _menu !: Menu;\r\n @HostBinding('style.pointer-events')\r\n get pointerEvents(): string {\r\n return this.disabled ? 'none' : 'auto';\r\n }\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() click: EventEmitter<any> = new EventEmitter();\r\n\r\n _target = '_self';\r\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n\r\n isMaterialIcon = false;\r\n constructor( private cdr: ChangeDetectorRef ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n this.updateData();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.updateData();\r\n }\r\n\r\n updateData() {\r\n this._linkType = this.linkType;\r\n\r\n if (this._linkType === 'auto') {\r\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\r\n this._linkType = 'external';\r\n } else {\r\n this._linkType = 'internal';\r\n }\r\n }\r\n\r\n if (this.linkTarget === 'auto') {\r\n if (this._linkType === 'external') {\r\n this._target = '_blank';\r\n } else {\r\n this._target = '_self';\r\n }\r\n } else {\r\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\r\n }\r\n\r\n if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('in-') === -1 && this.icon.indexOf('pi-') === -1) {\r\n this.isMaterialIcon = true;\r\n } else {\r\n this.isMaterialIcon = false;\r\n }\r\n }\r\n\r\n _onClick($event) {\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='external'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\r\n ngbDropdown>\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\"\r\n [style]=\"style\" ngbDropdownToggle>\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\r\n class=\"in-dropdown-menu\"\r\n ngbDropdownMenu>\r\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\r\n <in-button (click)=\"dropdown.close(); item.command();\"\r\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\r\n [icon]=\"item.icon\"\r\n [label]=\"item.label\"\r\n [svg]=\"item.svg\"\r\n size=\"large\"\r\n width=\"100%\"></in-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label) || isIconOnly,\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\r\n <span class=\"p-button-text p-clickable\">{{label}}</span>\r\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\">\r\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\r\n </span>\r\n</ng-template>\r\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class InputTextComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() autocomplete = true;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() size = 100000;\r\n @Input() maxlength = 100000;\r\n @Input() width = '';\r\n @Input() display = true;\r\n @Input() large = true;\r\n @Input() small = false;\r\n @Input() widget = false;\r\n @Input() forms = false;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() testId = null;\r\n @Input() disabled: boolean;\r\n @Input() opacity = true;\r\n @Input() shadow = false;\r\n @Input() right = false;\r\n @Input() type = 'text';\r\n @Input() step: number;\r\n @Input() min: number;\r\n @Input() max: number;\r\n\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n value: string;\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n clear() {\r\n this.value = '';\r\n this.propagateChange('');\r\n this.onClick.emit('');\r\n }\r\n\r\n onChange(_: any) {\r\n if (this.type === 'number') {\r\n this.propagateChange(+this.value);\r\n } else {\r\n this.propagateChange(this.value);\r\n }\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\n","import {Component, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-textarea',\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./textarea.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TextareaComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class TextareaComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() minHeight = 30;\r\n @Input() maxlength = 100000;\r\n\r\n value: string;\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n };\r\n\r\n onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n","import {Component} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.scss'],\r\n})\r\nexport class PanelComponent {\r\n\r\n\r\n}\r\n","<div class=\"c-panel inspark-panel\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {Component, Input} from '@angular/core';\r\n\r\n\r\ntype ALIGN = 'right' | 'left' | 'center';\r\n\r\n@Component({\r\n selector: 'in-component-container',\r\n templateUrl: './component-container.component.html',\r\n styleUrls: ['./component-container.component.scss'],\r\n})\r\nexport class ComponentContainerComponent {\r\n\r\n\r\n @Input() align: ALIGN = 'left';\r\n\r\n}\r\n","<div [ngClass]=\"align\" class=\"inspark-component-container\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {ChangeDetectorRef, Component, ElementRef, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n\r\n value: string;\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value;\r\n if (!this.cdRef['destroyed']) {\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n };\r\n\r\n onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-checkbox\">\r\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\r\n (ngModelChange)=\"onChange(value)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n class=\"c-checkbox__input field_{{id}}\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\r\n <span class=\"label\"><ng-content></ng-content></span>\r\n</label>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n ViewRef\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Overlay, OverlayModule} from 'primeng/overlay';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {Dropdown} from 'primeng/dropdown';\r\nimport {TooltipModule} from 'primeng/tooltip';\r\nimport {OverlayOptions, PrimeTemplate, SelectItem, SharedModule} from 'primeng/api';\r\nimport {Scroller, ScrollerModule, ScrollerOptions} from 'primeng/scroller';\r\nimport {RippleModule} from 'primeng/ripple';\r\nimport {AutoFocusModule} from 'primeng/autofocus';\r\nimport {ObjectUtils} from 'primeng/utils';\r\n\r\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'p-dropdownItem',\r\n template: `\r\n <li\r\n (click)=\"onOptionClick($event)\"\r\n role=\"option\"\r\n pRipple\r\n [attr.aria-label]=\"label\"\r\n [attr.aria-selected]=\"selected\"\r\n [ngStyle]=\"{ height: itemSize + 'px' }\"\r\n [id]=\"selected ? 'p-highlighted-option' : ''\"\r\n [ngClass]=\"{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }\"\r\n >\r\n <span *ngIf=\"!template\">{{ label || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\r\n </li>\r\n `\r\n})\r\nexport class DropdownItem {\r\n @Input() option: SelectItem;\r\n\r\n @Input() selected: boolean;\r\n\r\n @Input() label: string;\r\n\r\n @Input() disabled: boolean;\r\n\r\n @Input() visible: boolean;\r\n\r\n @Input() itemSize: number;\r\n\r\n @Input() template: TemplateRef<any>;\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n onOptionClick(event: Event) {\r\n this.onClick.emit({\r\n originalEvent: event,\r\n option: this.option\r\n });\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'in-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n host: {\r\n class: 'p-element p-inputwrapper',\r\n '[class.p-inputwrapper-filled]': 'filled',\r\n '[class.p-inputwrapper-focus]': 'focused || overlayVisible'\r\n },\r\n providers: [DROPDOWN_VALUE_ACCESSOR],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./dropdown.component.css']\r\n})\r\nexport class DropdownComponent extends Dropdown implements ControlValueAccessor {\r\n\r\n /**\r\n * Наш код\r\n */\r\n\r\n\r\n @Input() title: string;\r\n\r\n @Input() error = null;\r\n\r\n get label(): string {\r\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\r\n }\r\n\r\n /**\r\n * код PrimeNG\r\n */\r\n\r\n @Input() scrollHeight: string = '200px';\r\n\r\n @Input() filter: boolean;\r\n\r\n @Input() name: string;\r\n\r\n _options: any[];\r\n @Input() get options(): any[] {\r\n return this._options;\r\n }\r\n\r\n set options(val: any[]) {\r\n this._options = val;\r\n this.optionsToDisplay = this._options;\r\n this.updateSelectedOption(this.value);\r\n\r\n this.selectedOption = this.findOption(this.value, this.optionsToDisplay);\r\n if (!this.selectedOption && ObjectUtils.isNotEmpty(this.value) && !this.editable) {\r\n this.value = null;\r\n this.onModelChange(this.value);\r\n }\r\n\r\n this.optionsChanged = true;\r\n if (this._filterValue && this._filterValue.length) {\r\n this.activateFilter();\r\n }\r\n }\r\n\r\n @Input() style: any;\r\n\r\n @Input() panelStyle: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() panelStyleClass: string;\r\n\r\n @Input() readonly: boolean;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() editable: boolean;\r\n\r\n @Input() appendTo: any;\r\n\r\n @Input() tabindex: number;\r\n\r\n @Input() placeholder: string;\r\n\r\n @Input() filterPlaceholder: string;\r\n\r\n @Input() filterLocale: string;\r\n\r\n @Input() inputId: string;\r\n\r\n @Input() selectId: string;\r\n\r\n @Input() dataKey: string;\r\n\r\n @Input() filterBy: string;\r\n\r\n @Input() autofocus: boolean;\r\n\r\n @Input() resetFilterOnHide: boolean = false;\r\n\r\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\r\n\r\n @Input() optionLabel: string;\r\n\r\n @Input() optionValue: string;\r\n\r\n @Input() optionDisabled: string;\r\n\r\n @Input() optionGroupLabel: string;\r\n\r\n @Input() optionGroupChildren: string = 'items';\r\n\r\n @Input() autoDisplayFirst: boolean = true;\r\n\r\n @Input() group: boolean;\r\n\r\n @Input() showClear: boolean;\r\n\r\n @Input() emptyFilterMessage: string = '';\r\n\r\n @Input() emptyMessage: string = '';\r\n\r\n @Input() lazy: boolean = false;\r\n\r\n @Input() virtualScroll: boolean;\r\n\r\n @Input() virtualScrollItemSize: number;\r\n\r\n @Input() virtualScrollOptions: ScrollerOptions;\r\n\r\n @Input() overlayOptions: OverlayOptions;\r\n\r\n @Input() ariaFilterLabel: string;\r\n\r\n @Input() ariaLabel: string;\r\n\r\n @Input() ariaLabelledBy: string;\r\n\r\n @Input() filterMatchMode: string = 'contains';\r\n\r\n @Input() maxlength: number;\r\n\r\n @Input() tooltip: string = '';\r\n\r\n @Input() tooltipPosition: string = 'right';\r\n\r\n @Input() tooltipPositionStyle: string = 'absolute';\r\n\r\n @Input() tooltipStyleClass: string;\r\n\r\n @Input() autofocusFilter: boolean = true;\r\n\r\n @Input() overlayDirection: string = 'end';\r\n\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onShow: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onHide: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClear: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onLazyLoad: EventEmitter<any> = new EventEmitter();\r\n\r\n /* @deprecated */\r\n _itemSize: number;\r\n @Input() get itemSize(): number {\r\n return this._itemSize;\r\n }\r\n\r\n set itemSize(val: number) {\r\n this._itemSize = val;\r\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _autoZIndex: boolean;\r\n @Input() get autoZIndex(): boolean {\r\n return this._autoZIndex;\r\n }\r\n\r\n set autoZIndex(val: boolean) {\r\n this._autoZIndex = val;\r\n console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _baseZIndex: number;\r\n @Input() get baseZIndex(): number {\r\n return this._baseZIndex;\r\n }\r\n\r\n set baseZIndex(val: number) {\r\n this._baseZIndex = val;\r\n console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _showTransitionOptions: string;\r\n @Input() get showTransitionOptions(): string {\r\n return this._showTransitionOptions;\r\n }\r\n\r\n set showTransitionOptions(val: string) {\r\n this._showTransitionOptions = val;\r\n console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n /* @deprecated */\r\n _hideTransitionOptions: string;\r\n @Input() get hideTransitionOptions(): string {\r\n return this._hideTransitionOptions;\r\n }\r\n\r\n set hideTransitionOptions(val: string) {\r\n this._hideTransitionOptions = val;\r\n console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\r\n }\r\n\r\n overlayVisible: boolean;\r\n\r\n // emptyFilter = '';\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownComponent,\r\n DropdownItem,\r\n ],\r\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],\r\n exports: [\r\n DropdownComponent, OverlayModule, SharedModule, ScrollerModule\r\n ],\r\n entryComponents: [\r\n DropdownComponent,\r\n ]\r\n})\r\nexport class DropdownComponentModule {\r\n}\r\n","<label class=\"label type_varchars in-dropdown\">\r\n<span *ngIf=\"title\" class=\"c-label__content\">\r\n {{ title }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n </span>\r\n <div\r\n #container\r\n (click)=\"onMouseclick($event)\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n [ngStyle]=\"style\"\r\n >\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n aria-haspopup=\"listbox\"\r\n pAutoFocus\r\n readonly\r\n role=\"combobox\"\r\n type=\"text\"\r\n />\r\n </div>\r\n <span\r\n *ngIf=\"!editable && label != null\"\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n [pTooltip]=\"tooltip\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\">\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || '' }}</ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span\r\n *ngIf=\"!editable && label == null\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\">{{ placeholder || '' }}</span>\r\n <input\r\n #editableInput\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (input)=\"onEditableInputChange($event)\"\r\n *ngIf=\"editable\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n type=\"text\"\r\n />\r\n <i (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\" class=\"p-dropdown-clear-icon pi pi-times\"></i>\r\n <div [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"listbox\" aria-label=\"dropdown trigger\"\r\n class=\"p-dropdown-trigger\"\r\n role=\"button\">\r\n <span [ngClass]=\"dropdownIcon\" class=\"p-dropdown-trigger-icon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n [(visible)]=\"overlayVisible\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [options]=\"overlayOptions\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [target]=\"'@parent'\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [class]=\"panelStyleClass\" [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div (click)=\"$event.stopPropagation()\" *ngIf=\"filter\" class=\"p-dropdown-header\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n [value]=\"filterValue || ''\"\r\n autocomplete=\"off\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n type=\"text\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\" class=\"p-dropdown-items-wrapper\">\r\n <p-scroller\r\n #scroller\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n *ngIf=\"virtualScroll\"\r\n [autoSize]=\"true\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [items]=\"optionsToDisplay\"\r\n [lazy]=\"lazy\"\r\n [options]=\"virtualScrollOptions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n >\r\n <ng-template let-items let-scrollerOptions=\"options\" pTemplate=\"content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template let-scrollerOptions=\"options\" pTemplate=\"loader\">\r\n <ng-container\r\n *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [style]=\"scrollerOptions.contentStyle\"\r\n class=\"p-dropdown-items\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template [ngForOf]=\"items\" let-optgroup ngFor>\r\n <li [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" class=\"p-dropdown-item-group\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template [ngForOf]=\"options\" let-i=\"index\" let-option ngFor>\r\n <p-dropdownItem\r\n (onClick)=\"onItemClick($event)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n </div>\r\n</label>\r\n","import {Directive, Input, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[inTemplate]',\r\n host: {}\r\n})\r\nexport class InsparkTemplate {\r\n\r\n @Input() type: string;\r\n\r\n @Input('inTemplate') name: string;\r\n\r\n constructor(public template: TemplateRef<any>) {\r\n }\r\n\r\n getType(): string {\r\n return this.name;\r\n }\r\n}\r\n","import {Directive, ElementRef, EventEmitter, HostListener, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[inClickOutside]'\r\n})\r\nexport class TableClickOutsideDirective {\r\n\r\n @Output() clickedOutside = new EventEmitter();\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n click(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n // console.log('clicked outside');\r\n this.clickedOutside.emit(event);\r\n } else {\r\n // console.log('clicked inside');\r\n }\r\n }\r\n\r\n}\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-table-menu-overlay',\r\n templateUrl: './table-menu-overlay.component.html',\r\n styleUrls: ['./table-menu-overlay.component.scss', './table-menu-overlay-contrast.component.scss', './table-menu-overlay-light.component.scss', './table-menu-overlay-green.component.scss', './table-menu-overlay-blue.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TableMenuOverlayComponent {\r\n @Input() isExpanded = false;\r\n @Input() positionClass: string;\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n public isClickedOutsideOverlay(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n this.isExpanded = false;\r\n }\r\n }\r\n}\r\n","<div class=\"c-overlay is-dropdown_open\">\r\n <div (click)=\"isExpanded = !isExpanded;\"\r\n class=\"c-overlay__toggle\">\r\n <ng-content select=\"host\"></ng-content>\r\n </div>\r\n <ng-container *ngIf=\"isExpanded\">\r\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\r\n inClickOutside>\r\n <!--{{positionClass}}-->\r\n <ng-content select=\"body\"></ng-content>\r\n </div>\r\n </ng-container>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {TableColumns} from \"../../../interface\";\r\n\r\n@Component({\r\n selector: 'in-table-columns-multiselect',\r\n templateUrl: './table-columns-multiselect.component.html',\r\n styleUrls: ['./table-columns-multiselect.component.scss']\r\n})\r\nexport class TableColumnsMultiselectComponent implements OnInit {\r\n public isExpanded = false;\r\n @Input() columns: TableColumns[];\r\n /**\r\n * true - все активные чекбоксы становятся неактивными\r\n * false - не влияет на чекбоксы\r\n */\r\n @Input() disableActiveCheckboxes = false;\r\n @Output() columnsChange = new EventEmitter<{event: any, column: TableColumns}>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<in-table-menu-overlay [isExpanded]=\"isExpanded\">\r\n <ng-container ngProjectAs=\"host\">\r\n <button class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i [title]=\"('column switch' | translate)\" class=\"in in-cog\"></i><i class=\"c-caret\"></i>\r\n </button>\r\n\r\n </ng-container>\r\n <ng-container ngProjectAs=\"body\">\r\n <ul class=\"o-list\">\r\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\r\n <div class=\"c-dropdown-menu__content\">\r\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\r\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\r\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\r\n [ngModel]=\"!column.isHidden \"\r\n class=\"c-checkbox__input\"\r\n type=\"checkbox\">\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n </ng-container>\r\n</in-table-menu-overlay>\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n NgModule, OnChanges, OnInit,\r\n Output,\r\n QueryList, SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {Table, TableModule, TableService} from 'primeng/table';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TableColumnsMultiselectComponent} from './table-columns-multiselect/table-columns-multiselect.component';\r\nimport {TableMenuOverlayComponent} from './table-menu-overlay/table-menu-overlay.component';\r\nimport {TableClickOutsideDirective} from './table-click-outside.directive';\r\nimport {DropdownModule} from 'primeng/dropdown';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport {TableRowData} from '../../utils/hybrid/prime-table/table-row-data.model';\r\nimport {PipesModule} from '../../pipes/pipes.module';\r\nimport {TableColumns, ToolBar, ToolBarFilterColumn} from '../../interface';\r\n\r\nimport {ObjectUtils} from 'primeng/utils';\r\nimport {DomHandler} from 'primeng/dom';\r\n\r\n// NEW Factory Function\r\nexport function tableFactory(wrapper: TableComponent) {\r\n return wrapper.dt;\r\n}\r\n\r\n@Component({\r\n selector: 'in-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n entryComponents: [],\r\n providers: [\r\n DomHandler, // from new imports\r\n ObjectUtils, // from new imports\r\n TableService, // from old imports\r\n {\r\n provide: Table, // providing table class\r\n useFactory: tableFactory, // using new function\r\n deps: [TableComponent], // new function depends on your wrapper\r\n },\r\n ],\r\n})\r\nexport class TableComponent implements OnInit, AfterContentInit, AfterViewInit, OnChanges {\r\n\r\n @Input() columns: TableColumns[] = [];\r\n filteredColumns: TableColumns[] = [];\r\n globalFilteredColumns: string[] = [];\r\n primaryColumns: TableColumns[] = [];\r\n @Input() values = [];\r\n @Input() scrollHeight: string;\r\n @Input() scrollable: boolean;\r\n @Input() selectionMode: string;\r\n @Input() label: string;\r\n @Input() error: string;\r\n @Input() class: string;\r\n @Input() required: boolean;\r\n @Input() style: any;\r\n @Input() toolbar: ToolBar;\r\n @Input() checkboxSelection = true;\r\n @Input() active;\r\n @Input() sortField;\r\n @Input() isAscending;\r\n @Input() dataKey;\r\n @Input() stateKey;\r\n @Input() isGrouped: boolean;\r\n @Input() customSort: boolean;\r\n @Input() isGroupedExpanded?: boolean;\r\n @Input() showHeader: boolean = true;\r\n @Input() isMobileView: boolean = false;\r\n @Input() resizableColumns: boolean = true;\r\n @Input() isTextSearch?: boolean = true;\r\n @Input() isSortIcon?: boolean = true;\r\n @Input() columnResizeMode: 'expand' | 'fit' = 'expand';\r\n\r\n @Output() activeChange = new EventEmitter<any>();\r\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() treeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() linkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() paramsEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sortFunction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() filterFunction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('dt', {static: false}) dt;\r\n\r\n groupMode = 0;\r\n groupInfo = {};\r\n groupIndex = {};\r\n headerTemplate: TemplateRef<any>;\r\n bodyTemplate: TemplateRef<any>;\r\n loadingBodyTemplate: TemplateRef<any>;\r\n captionTemplate: TemplateRef<any>;\r\n frozenRowsTemplate: TemplateRef<any>;\r\n footerTemplate: TemplateRef<any>;\r\n summaryTemplate: TemplateRef<any>;\r\n colGroupTemplate: TemplateRef<any>;\r\n expandedRowTemplate: TemplateRef<any>;\r\n frozenHeaderTemplate: TemplateRef<any>;\r\n frozenBodyTemplate: TemplateRef<any>;\r\n frozenFooterTemplate: TemplateRef<any>;\r\n frozenColGroupTemplate: TemplateRef<any>;\r\n emptyMessageTemplate: TemplateRef<any>;\r\n paginatorLeftTemplate: TemplateRef<any>;\r\n paginatorRightTemplate: TemplateRef<any>;\r\n valueTemplate: TemplateRef<any>;\r\n searchText: string;\r\n _selection = null;\r\n\r\n @Input() set selection(val) {\r\n this._selection = val;\r\n }\r\n\r\n get selectionValue() {\r\n return this._selection;\r\n }\r\n\r\n set selectionValue(val) {\r\n this._selection = val;\r\n this.selectionChange.emit(val);\r\n }\r\n\r\n public isRowActive(row: TableRowData) {\r\n return this.active && this.active.id === row.id;\r\n }\r\n\r\n ngOnInit() {\r\n this.updateData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n Object.entries(this.dt.filters).forEach(([key, value]) => {\r\n this.dt.filter('', `${key}`, 'contains');\r\n });\r\n this.dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.resetColumnWidth();\r\n this.visibleColumns();\r\n }\r\n\r\n updateData() {\r\n this.primaryColumns = this.columns.filter(column => !column.isSecondary);\r\n this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.visibleColumns();\r\n this.restoreSearchText();\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'caption':\r\n this.captionTemplate = item.template;\r\n break;\r\n\r\n case 'header':\r\n this.headerTemplate = item.template;\r\n break;\r\n\r\n case 'body':\r\n this.bodyTemplate = item.template;\r\n break;\r\n case 'value':\r\n this.valueTemplate = item.template;\r\n break;\r\n\r\n case 'loadingbody':\r\n this.loadingBodyTemplate = item.template;\r\n break;\r\n\r\n case 'footer':\r\n this.footerTemplate = item.template;\r\n break;\r\n\r\n case 'summary':\r\n this.summaryTemplate = item.template;\r\n break;\r\n\r\n case 'colgroup':\r\n this.colGroupTemplate = item.template;\r\n break;\r\n\r\n case 'rowexpansion':\r\n this.expandedRowTemplate = item.template;\r\n break;\r\n\r\n case 'frozenrows':\r\n this.frozenRowsTemplate = item.template;\r\n break;\r\n\r\n case 'frozenheader':\r\n this.frozenHeaderTemplate = item.template;\r\n break;\r\n\r\n case 'frozenbody':\r\n this.frozenBodyTemplate = item.template;\r\n break;\r\n\r\n case 'frozenfooter':\r\n this.frozenFooterTemplate = item.template;\r\n break;\r\n\r\n case 'frozencolgroup':\r\n this.frozenColGroupTemplate = item.template;\r\n break;\r\n\r\n case 'emptymessage':\r\n this.emptyMessageTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorleft':\r\n this.paginatorLeftTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorright':\r\n this.paginatorRightTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n public visibleColumns(): TableColumns[] {\r\n this.restoreHiddenColumns();\r\n this.filteredColumns = this.columns.filter(column => !column.isHidden);\r\n return this.filteredColumns;\r\n }\r\n\r\n public columnsChange(data) {\r\n data.column.isHidden = !data.event;\r\n this.resetColumnWidth();\r\n this.saveHiddenColumns();\r\n this.visibleColumns();\r\n }\r\n\r\n public showTooltip(event) {\r\n const target = event.target;\r\n if (target.title === undefined || !target.textContent) {\r\n return;\r\n }\r\n target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';\r\n }\r\n\r\n public colFilter(field): ToolBarFilterColumn {\r\n const found = this.toolbar.filter.cols.filter(item => item.field === field);\r\n return found.length === 1 ? found[0] : undefined;\r\n }\r\n\r\n public onFilterToolbar(event) {\r\n if (this.toolbar && this.toolbar.filter) {\r\n this.toolbar.filter.active = !this.toolbar.filter.active;\r\n }\r\n }\r\n public onFilter(event) {\r\n this.onSort();\r\n this.filterFunction.emit(event.filteredValue);\r\n }\r\n\r\n public stateSave(state) {\r\n }\r\n\r\n public saveToLocalStorage(state, key) {\r\n if (key) {\r\n window.localStorage.setItem(key, JSON.stringify(state));\r\n }\r\n }\r\n\r\n public isHiddenFieldsChanged(): boolean {\r\n const hiddenFieldsSaved = this.getHiddenHiddenFieldsFromStorage();\r\n const hiddenFieldsColumns = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field);\r\n if (hiddenFieldsSaved.length === hiddenFieldsColumns.length) {\r\n const diff = hiddenFieldsSaved.filter(field => !hiddenFieldsColumns.includes(field));\r\n diff.length !== 0;\r\n }\r\n return true;\r\n }\r\n public saveHiddenColumns() {\r\n if (this.stateKey) {\r\n if (!this.isHiddenFieldsChanged()) {\r\n return;\r\n }\r\n const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');\r\n this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');\r\n window.localStorage.removeItem(this.stateKey);\r\n\r\n if (this.searchText) {\r\n window.localStorage.setItem(this.stateKey, JSON.stringify({\r\n filters: {global: {value: this.searchText, matchMode: 'contains'}}\r\n }));\r\n }\r\n\r\n if (this.dt) {\r\n this.dt.restoreState();\r\n }\r\n }\r\n }\r\n\r\n public countVisibleColumns() {\r\n return (this.columns || []).filter(_col => !_col.isHidden).length;\r\n }\r\n\r\n\r\n public restoreSearchText() {\r\n const state = window.localStorage.getItem(this.stateKey);\r\n if (state) {\r\n const parsedState = JSON.parse(state);\r\n this.searchText = (parsedState.filters || {global: {value: ''}}).global ? (parsedState.filters || {global: {value: ''}}).global.value : '';\r\n this.sortField = parsedState.sortField || this.sortField;\r\n } else {\r\n this.resetColumnWidth();\r\n }\r\n }\r\n\r\n public resetColumnWidthIfToWide() {\r\n const visibleColumns = this.columns.filter(_column => !_column.isHidden);\r\n const totalWidthInPercent = visibleColumns.reduce((s, column) => {\r\n const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;\r\n return s + percent;\r\n }, 0);\r\n\r\n if (totalWidthInPercent > 100) {\r\n console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`\r\n + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);\r\n this.resetColumnWidth();\r\n }\r\n if (totalWidthInPercent < 100 && this.columns.length > 0) {\r\n // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом\r\n const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;\r\n this.columns[0].width = 100 - totalWidthInPercent + percent + '%';\r\n }\r\n\r\n }\r\n\r\n public resetColumnWidth() {\r\n const cvc = this.countVisibleColumns();\r\n let percent = Math.floor(100 / cvc);\r\n let firstColumnPercent = percent;\r\n if (cvc > 10) {\r\n percent = Math.floor(90 / (cvc - 1));\r\n firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));\r\n }\r\n this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);\r\n }\r\n\r\n private getHiddenHiddenFieldsFromStorage(): string[] {\r\n if (this.stateKey) {\r\n const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');\r\n if (hiddenFields) {\r\n return JSON.parse(hiddenFields).split(',');\r\n }\r\n }\r\n return [];\r\n }\r\n public restoreHiddenColumns() {\r\n if (this.stateKey && window.localStorage.getItem(this.stateKey + 'HiddenFields')) {\r\n const hiddenFieldsArray = this.getHiddenHiddenFieldsFromStorage();\r\n this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);\r\n }\r\n }\r\n\r\n public calcWidth(idx, label, width) {\r\n return width && idx >= 0 ? width : 'auto';\r\n }\r\n\r\n\r\n public onSort() {\r\n if (this.isGrouped) {\r\n\r\n Object.entries(this.groupInfo).forEach(([key, value]) => {\r\n const cacheFlag = (this.groupInfo[key] || {}).isExpanded;\r\n this.groupInfo[key] = {isExpanded: cacheFlag === undefined ? true : cacheFlag};\r\n });\r\n\r\n this.sortByGroup();\r\n if (this.dt && this.dt.filteredValue) {\r\n this.sortByGroup(this.dt.filteredValue, this.dt._sortOrder);\r\n } else if (this.dt && this.dt._value && this.dt._sortOrder) {\r\n this.sortByGroup(this.dt._value, this.dt._sortOrder);\r\n }\r\n }\r\n }\r\n\r\n public isShowGroup(key, rowIndex) {\r\n if (rowIndex === 0) {\r\n this.groupIndex = {};\r\n }\r\n\r\n if (!this.groupInfo[key]) {\r\n this.groupInfo[key] = {isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true};\r\n }\r\n\r\n if (!this.groupIndex[key]) {\r\n this.groupIndex[key] = {rowIndex};\r\n }\r\n return this.groupIndex[key].rowIndex === rowIndex;\r\n }\r\n\r\n public toggleGroup(rowIndex: number, key: string) {\r\n this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;\r\n this.onSort();\r\n }\r\n\r\n clear() {\r\n this.dt.filterGlobal('', 'contains');\r\n this.searchText = '';\r\n this.dt.saveState();\r\n }\r\n\r\n localSearch(dt, searchText) {\r\n dt.filterGlobal(searchText, 'contains');\r\n }\r\n\r\n private sortByGroup(values?: any, sortOrder?: number) {\r\n const g = this.groupMode;\r\n if (values) {\r\n return values.sort((row1: TableRowData, row2: TableRowData) => {\r\n if (typeof (row1.groupOrder[g]) === 'number') {\r\n return sortOrder * (row1.groupOrder[g] - row2.groupOrder[g]);\r\n } else {\r\n return sortOrder * row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, {numeric: true, sensitivity: 'base'});\r\n }\r\n });\r\n }\r\n this.values.sort((row1: TableRowData, row2: TableRowData) => {\r\n if (typeof (row1.groupOrder[g]) === 'number') {\r\n return row1.groupOrder[g] - row2.groupOrder[g];\r\n } else {\r\n return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, {numeric: true, sensitivity: 'base'});\r\n }\r\n });\r\n }\r\n\r\n countGroup(groupKey, g: number): number {\r\n return this.values.filter(_value => _value.groupKey[g] === groupKey).length;\r\n }\r\n\r\n toggleNodes(isExpanded: boolean) {\r\n const g = this.groupMode;\r\n this.values.forEach(v => {\r\n if (this.groupInfo[v.groupKey[g]]) {\r\n this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;\r\n }\r\n });\r\n }\r\n\r\n toggleMode(item) {\r\n this.groupMode = item;\r\n this.groupInfo = {};\r\n for (let i = 0; i < this.values.length; i++) {\r\n this.isShowGroup(this.values[i].groupKey[this.groupMode], i);\r\n }\r\n if (this.searchText) {\r\n this.dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n this.sortByGroup();\r\n }\r\n}\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],\r\n exports: [TableComponent, TableColumnsMultiselectComponent],\r\n declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]\r\n})\r\nexport class TableComponentModule {\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <p-tableCheckbox [value]=\"rowData\"\r\n [ngStyle]=\"{ 'pointer-events': selectionMode === 'single' || selectionMode === 'multiple' && checkboxSelection ? 'none' : 'auto'}\"\r\n ></p-tableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: заменить на in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\n","import {Component} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-empty',\r\n templateUrl: './empty.component.html',\r\n styleUrls: ['./empty.component.scss'],\r\n})\r\nexport class EmptyComponent {\r\n\r\n\r\n}\r\n","<div class=\"status-text\">\r\n {{'no_records' | translate}}\r\n</div>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-sticky',\r\n templateUrl: './sticky.component.html',\r\n styleUrls: ['./sticky.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class InsparkStickyComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('sticky', {static: false}) stickyRef: ElementRef;\r\n @Input() top = 100;\r\n @Input() isInline = false;\r\n @Input() isFloated = true;\r\n @Input() zIndex = 10;\r\n @Input() class = '';\r\n\r\n isSticky = false;\r\n height = 0;\r\n width = 0;\r\n left = 0;\r\n right = 0;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n document.addEventListener('scroll', this.scroll);\r\n window.addEventListener('resize', this.resize);\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('scroll', this.scroll);\r\n window.removeEventListener('resize', this.resize);\r\n }\r\n\r\n resize = () => {\r\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\r\n this.width = rect.width;\r\n this.left = rect.x;\r\n this.cdr.detectChanges();\r\n };\r\n\r\n scroll = () => {\r\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\r\n const isSticky = rect.top < this.top;\r\n if (isSticky !== this.isSticky) {\r\n this.height = rect.height;\r\n this.isSticky = rect.top < this.top;\r\n this.left = rect.x;\r\n this.width = rect.width;\r\n this.right = rect.right;\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n}\r\n","<div #sticky [ngClass]=\"{inline:isInline}\" [ngStyle]=\"{height: this.height?this.height+'px':'auto'}\"\r\n class=\"sticky-container\">\r\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\r\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\r\n <div [ngClass]=\"class + ' u-overflow-hidden'\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class InsparkHeaderComponent implements OnInit {\r\n\r\n @Input() level = 1;\r\n @Input() label = '';\r\n @Input() isWrappable = false;\r\n @Input() lineClamp = 4;\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.level = Math.max(Math.min(this.level, 6), 1);\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"{ h1: level === 1, h2: level === 2, h3: level === 3,\r\n h4: level === 4, h5: level === 5, h6:level === 6,\r\n 'is-wrappable': isWrappable }\"\r\n class=\"header u-margin-bottom-tiny u-margin-top-small line-clamp-{{lineClamp}}\">\r\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div class=\"buttons\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n entryComponents: []\r\n})\r\nexport class ToolbarComponent implements OnInit {\r\n\r\n\r\n @Input() title: string;\r\n display = false;\r\n objects;\r\n\r\n selected: any;\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public clickedOutsideOverlay(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n this.display = false;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\r\nimport {MenuItem} from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'in-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n\r\n @Input() items: MenuItem[];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<div>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-file',\r\n templateUrl: './file.component.html',\r\n styleUrls: ['./file.component.css'],\r\n})\r\nexport class FileComponent {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() accept: string = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n @ViewChild('fileInput', {static: false}) el: ElementRef;\r\n\r\n file: File = null;\r\n\r\n onClear() {\r\n this.file = null;\r\n this.onChange.emit(this.file);\r\n this.el.nativeElement.value = '';\r\n }\r\n\r\n onClickChoose() {\r\n this.el.nativeElement.click();\r\n }\r\n\r\n onChangeFile(e) {\r\n e.preventDefault();\r\n if (e.srcElement.files[0]) {\r\n this.file = e.srcElement.files[0];\r\n this.onChange.emit(this.file);\r\n }\r\n }\r\n\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\r\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\r\n\r\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\ntype IconPos = 'left' | 'right';\r\n\r\nexport interface SelectOption {\r\n label: string;\r\n title?: string;\r\n value: string | number | boolean; // важно: примитив\r\n icon?: string;\r\n readonly?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'in-select-button',\r\n templateUrl: './select-button.component.html',\r\n styleUrls: ['./select-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SelectButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SelectButtonComponent\r\n implements ControlValueAccessor, OnInit, OnChanges {\r\n\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() error = '';\r\n @Input() iconPos: IconPos = 'left';\r\n @Input() options: SelectOption[] = [];\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() multiple = false;\r\n @Input() initial?: Array<string | number | boolean>;\r\n\r\n @Output() focus = new EventEmitter<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() click = new EventEmitter<any>();\r\n @Output() change = new EventEmitter<any>();\r\n\r\n // хранит выбранные ЗНАЧЕНИЯ, а не объекты\r\n selected: Array<string | number | boolean> = [];\r\n\r\n // то, что отдаем наружу в форму\r\n value: string | number | boolean | Array<string | number | boolean> | null = null;\r\n\r\n private propagateChange: (val: any) => void = () => {};\r\n private propagateTouched: () => void = () => {};\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // применяем initial только когда он реально поменялся\r\n if (changes['initial'] && this.initial) {\r\n this.selected = [...this.initial];\r\n this.value = this.multiple ? [...this.initial] : this.initial[0] ?? null;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // если меняется список опций, надо попытаться восстановить выделение\r\n if (changes['options'] && this.options && this.options.length > 0) {\r\n this.syncSelectedWithOptions();\r\n }\r\n }\r\n\r\n clickButton(option: SelectOption): void {\r\n if (option.readonly || this.disabled) {\r\n return;\r\n }\r\n\r\n this.click.emit(option);\r\n\r\n if (this.multiple) {\r\n if (this.selected.includes(option.value)) {\r\n // убираем\r\n this.selected = this.selected.filter(v => v !== option.value);\r\n } else {\r\n // добавляем\r\n this.selected = [...this.selected, option.value];\r\n }\r\n this.value = [...this.selected];\r\n } else {\r\n this.selected = [option.value];\r\n this.value = option.value;\r\n }\r\n\r\n this.cdRef.detectChanges();\r\n this.onChange();\r\n }\r\n\r\n // ControlValueAccessor: model -> view\r\n writeValue(value: any): void {\r\n this.value = value;\r\n\r\n if (value === null || value === undefined) {\r\n this.selected = [];\r\n } else if (Array.isArray(value)) {\r\n // multiple\r\n this.selected = [...value];\r\n } else {\r\n // single\r\n this.selected = [value];\r\n }\r\n\r\n // когда значение пришло извне, надо убедиться что такие опции есть\r\n this.syncSelectedWithOptions();\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // ControlValueAccessor\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n // ControlValueAccessor\r\n registerOnTouched(fn: any): void {\r\n this.propagateTouched = fn;\r\n }\r\n\r\n // ControlValueAccessor: disabled\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n // пробросить наружу\r\n private onChange(): void {\r\n this.propagateChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n onBlur(): void {\r\n this.propagateTouched();\r\n this.blur.emit();\r\n }\r\n\r\n onFocus(): void {\r\n this.focus.emit();\r\n }\r\n\r\n // синхронизируем текущее выбранное со свежими options\r\n private syncSelectedWithOptions(): void {\r\n if (!this.options || this.options.length === 0) {\r\n return;\r\n }\r\n\r\n if (this.multiple) {\r\n // оставляем только те выбранные, которые реально есть в новых options\r\n const optionValues = this.options.map(o => o.value);\r\n this.selected = this.selected.filter(v => optionValues.includes(v));\r\n this.value = [...this.selected];\r\n } else {\r\n if (this.selected.length > 0) {\r\n const current = this.selected[0];\r\n const found = this.options.find(o => o.value === current);\r\n if (!found) {\r\n // выбранного больше нет в списке\r\n this.selected = [];\r\n this.value = null;\r\n } else {\r\n this.selected = [found.value];\r\n this.value = found.value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // для *ngFor trackBy\r\n trackByValue(index: number, item: SelectOption): string | number | boolean {\r\n return item.value;\r\n }\r\n}\r\n","<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- фиктивная кнопка если нужна разметка -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\r\nimport {CircleMode, CircleSize} from \"../../interface\";\r\n\r\n\r\n@Component({\r\n selector: 'in-status-circle',\r\n templateUrl: './status-circle.component.html',\r\n styleUrls: ['./status-circle.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class StatusCircleComponent {\r\n\r\n\r\n @Input() label = '';\r\n @Input() title = '';\r\n @Input() icon = '';\r\n @Input() inIcon = '';\r\n @Input() showLabel = true;\r\n @Input() mode: CircleMode = 'success';\r\n @Input() size: CircleSize = 'normal';\r\n @Input() content: any = '';\r\n\r\n}\r\n","<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\r\n class=\"circle-container {{size}}\"\r\n title=\"{{title ? title : label}}\">\r\n <span class=\"circle {{mode}}\">\r\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\r\n <i *ngIf=\"inIcon\" [ngClass]=\"inIcon\" class=\"in\"></i>\r\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\r\n </span>\r\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\r\n</div>\r\n","import {ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'in-switcher',\r\n templateUrl: './switcher.component.html',\r\n styleUrls: ['./switcher.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SwitcherComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class SwitcherComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() error = null;\r\n @Input() iconOff = '';\r\n @Input() iconOn = '';\r\n @Input() labelOff = 'Off';\r\n @Input() labelOn = 'On';\r\n @Input() faIconOn = '';\r\n @Input() faIconOff = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() waiting?: boolean;\r\n\r\n @Output() change: EventEmitter<any> = new EventEmitter();\r\n\r\n _isBoolean = false;\r\n\r\n value: boolean;\r\n\r\n\r\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this._isBoolean = typeof this.value === 'boolean';\r\n this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this._isBoolean = typeof value === 'boolean';\r\n this.value = value;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n onChange(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if (this._isBoolean) {\r\n this.propagateChange(this.value);\r\n this.change.emit(this.value);\r\n\r\n } else {\r\n this.propagateChange(this.value ? 1 : 0);\r\n this.change.emit(this.value ? 1 : 0);\r\n }\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n}\r\n","<label class=\"c-checkbox c-checkbox_switch container\">\r\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\r\n <span class=\"switcher-container\">\r\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\r\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\r\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\"\r\n class=\"c-checkbox__input\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\r\n <span *ngIf=\"waiting\" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"in in-spinner fa-spin \"></i></span>\r\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\r\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\r\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n </span>\r\n</label>\r\n","import {Component, Input} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-inline-message',\r\n templateUrl: './inline-message.component.html',\r\n styleUrls: ['./inline-message.component.scss'],\r\n})\r\nexport class InlineMessageComponent {\r\n\r\n\r\n @Input() message = '';\r\n @Input() align: 'center' | 'left' | 'right' = 'center';\r\n\r\n}\r\n","<div [ngClass]=\"align\" class=\"message\">\r\n {{message}}\r\n <ng-content></ng-content>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MenuItem} from 'primeng/api';\r\nimport {Menu} from 'primeng/menu';\r\n\r\n\r\ntype LinkColor = 'normal' | 'secondary' | 'danger' | 'primary' | 'transparent';\r\ntype IconPos = 'left' | 'right';\r\n\r\n@Component({\r\n selector: 'in-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.scss'],\r\n})\r\nexport class LinkComponent implements OnInit, OnChanges {\r\n\r\n @Input() color: LinkColor = 'normal';\r\n @Input() name = '';\r\n @Input() testId = '';\r\n @Input() label = '';\r\n @Input() icon = '';\r\n @Input() className = '';\r\n @Input() svg = '';\r\n @Input() link = '';\r\n /**\r\n * external - ссылка на внешний источник\r\n * internal - ссылка внутри приложения\r\n * auto - определяется автоматически исходя из link\r\n */\r\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n /**\r\n * self - открывается в этом же окне\r\n * blank - открывается в новом окне\r\n * auto - определяется автоматически исходя из linkType\r\n */\r\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\r\n\r\n\r\n // Отображает кнопку нажатой\r\n @Input() pressed = false;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() iconPos: IconPos = 'left';\r\n @Input() menuItems: MenuItem[] = [];\r\n\r\n @ViewChild(Menu, {static: false}) _menu !: Menu;\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() click: EventEmitter<any> = new EventEmitter();\r\n\r\n style={}\r\n\r\n _target = '_self';\r\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\r\n\r\n isMaterialIcon = false;\r\n\r\n ngOnInit() {\r\n\r\n\r\n this.updateData();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.updateData();\r\n }\r\n\r\n updateData() {\r\n this._linkType = this.linkType;\r\n\r\n if (this._linkType === 'auto') {\r\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\r\n this._linkType = 'external';\r\n } else {\r\n this._linkType = 'internal';\r\n }\r\n }\r\n\r\n if (this.linkTarget === 'auto') {\r\n if (this._linkType === 'external') {\r\n this._target = '_blank';\r\n } else {\r\n this._target = '_self';\r\n }\r\n } else {\r\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\r\n }\r\n\r\n if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('fa-') === -1) {\r\n this.isMaterialIcon = true;\r\n } else {\r\n this.isMaterialIcon = false;\r\n }\r\n }\r\n\r\n _onClick($event: Event) {\r\n // if (!this.link) {\r\n // $event.stopPropagation();\r\n // $event.preventDefault();\r\n // this.click.emit($event);\r\n // }\r\n if (this.menuItems.length) {\r\n this._menu.toggle($event);\r\n }\r\n }\r\n}\r\n","<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link &&_linkType ==='external'\"\r\n [class]=\"className\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"!link\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</span>\r\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <span *ngIf=\"svg\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\">\r\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n </span>\r\n <span class=\"p-link-text p-clickable\">{{label}}</span>\r\n\r\n</ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TableComponentModule} from '../table/table.component';\r\nimport {PipesModule} from '../../pipes/pipes.module';\r\nimport {TableRowData} from '../../utils/hybrid/prime-table/table-row-data.model';\r\nimport {TableColumns} from '../../interface';\r\nimport {TreeTableModule} from 'primeng/treetable';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'in-tree-table',\r\n templateUrl: './tree-table.component.html',\r\n styleUrls: ['./tree-table.component.scss'],\r\n entryComponents: [],\r\n})\r\nexport class TreeTableComponent implements AfterContentInit {\r\n\r\n @Input() columns: TableColumns[] = [];\r\n @Input() values = [];\r\n @Input() scrollHeight: string;\r\n @Input() scrollable: boolean;\r\n @Input() selectionMode: string;\r\n @Input() label: string;\r\n @Input() error: string;\r\n @Input() class: string;\r\n @Input() required: boolean;\r\n @Input() style: any;\r\n @Input() toolbar: any;\r\n @Input() checkboxSelection = true;\r\n @Input() active;\r\n @Input() sortField;\r\n @Input() isAscending;\r\n @Input() dataKey;\r\n\r\n @Output() activeChange = new EventEmitter<any>();\r\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() collapseAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() groupAddAction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n headerTemplate: TemplateRef<any>;\r\n bodyTemplate: TemplateRef<any>;\r\n loadingBodyTemplate: TemplateRef<any>;\r\n captionTemplate: TemplateRef<any>;\r\n frozenRowsTemplate: TemplateRef<any>;\r\n footerTemplate: TemplateRef<any>;\r\n summaryTemplate: TemplateRef<any>;\r\n colGroupTemplate: TemplateRef<any>;\r\n expandedRowTemplate: TemplateRef<any>;\r\n frozenHeaderTemplate: TemplateRef<any>;\r\n frozenBodyTemplate: TemplateRef<any>;\r\n frozenFooterTemplate: TemplateRef<any>;\r\n frozenColGroupTemplate: TemplateRef<any>;\r\n emptyMessageTemplate: TemplateRef<any>;\r\n paginatorLeftTemplate: TemplateRef<any>;\r\n paginatorRightTemplate: TemplateRef<any>;\r\n valueTemplate: TemplateRef<any>;\r\n searchText: string;\r\n rowIndex = 0;\r\n isCollapse = true;\r\n _selection = null;\r\n\r\n @Input() set selection(val) {\r\n this._selection = val;\r\n }\r\n\r\n get selectionValue() {\r\n return this._selection;\r\n }\r\n\r\n set selectionValue(val) {\r\n this._selection = val;\r\n this.selectionChange.emit(val);\r\n }\r\n\r\n public isRowActive(row: TableRowData) {\r\n return this.active && this.active.id === row.id;\r\n }\r\n\r\n public visibleColumns(): TableColumns[] {\r\n return this.columns.filter(column => !column.isHidden);\r\n }\r\n\r\n public columnsChange(data) {\r\n data.column.isHidden = !data.event;\r\n }\r\n ngAfterContentInit() {\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'caption':\r\n this.captionTemplate = item.template;\r\n break;\r\n\r\n case 'header':\r\n this.headerTemplate = item.template;\r\n break;\r\n\r\n case 'body':\r\n this.bodyTemplate = item.template;\r\n break;\r\n case 'value':\r\n this.valueTemplate = item.template;\r\n break;\r\n\r\n case 'loadingbody':\r\n this.loadingBodyTemplate = item.template;\r\n break;\r\n\r\n case 'footer':\r\n this.footerTemplate = item.template;\r\n break;\r\n\r\n case 'summary':\r\n this.summaryTemplate = item.template;\r\n break;\r\n\r\n case 'colgroup':\r\n this.colGroupTemplate = item.template;\r\n break;\r\n\r\n case 'rowexpansion':\r\n this.expandedRowTemplate = item.template;\r\n break;\r\n\r\n case 'frozenrows':\r\n this.frozenRowsTemplate = item.template;\r\n break;\r\n\r\n case 'frozenheader':\r\n this.frozenHeaderTemplate = item.template;\r\n break;\r\n\r\n case 'frozenbody':\r\n this.frozenBodyTemplate = item.template;\r\n break;\r\n\r\n case 'frozenfooter':\r\n this.frozenFooterTemplate = item.template;\r\n break;\r\n\r\n case 'frozencolgroup':\r\n this.frozenColGroupTemplate = item.template;\r\n break;\r\n\r\n case 'emptymessage':\r\n this.emptyMessageTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorleft':\r\n this.paginatorLeftTemplate = item.template;\r\n break;\r\n\r\n case 'paginatorright':\r\n this.paginatorRightTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n collapse(event, dt) {\r\n this.values.forEach((node) => {\r\n this.toggleCollapse(node, this.isCollapse);\r\n });\r\n this.isCollapse = !this.isCollapse;\r\n dt.filterGlobal(this.searchText, 'contains');\r\n }\r\n\r\n toggleCollapse(node: any, isCollapsed: boolean) {\r\n\r\n if (node.children) {\r\n node.expanded = isCollapsed;\r\n for (const cn of node.children) {\r\n if (cn) {\r\n this.toggleCollapse(cn, isCollapsed);\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],\r\n exports: [TreeTableComponent],\r\n declarations: [TreeTableComponent]\r\n})\r\nexport class TreeTableComponentModule {\r\n}\r\n","<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || 'Добавить'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || 'Добавить группу'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || 'Удалить'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: заменить на in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"Сохранить как CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-radiobutton',\r\n templateUrl: './radiobutton.component.html',\r\n styleUrls: ['./radiobutton.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadiobuttonComponent {\r\n @Input() name = null;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() disabled: boolean;\r\n @Input() value;\r\n @Input() values;\r\n @Input() keyLabel;\r\n @Input() item;\r\n @Output() change = new EventEmitter();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n onChangeEvent(value) {\r\n this.change.next({name: this.name, value});\r\n }\r\n}\r\n","<ng-container *ngFor=\"let element of values\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\n","import {\r\n Component, OnInit,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\r\nimport {gettext} from \"../../utils/gettextMarker.function\";\r\nimport {DynamicDialogConfig, DynamicDialogRef} from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'app-select-list',\r\n templateUrl: './select-list.component.html',\r\n styleUrls: ['./select-list.component.scss'],\r\n})\r\nexport class SelectListComponent implements OnInit {\r\n\r\n objects: any[];\r\n selected: Boolean[];\r\n title: string;\r\n objs;\r\n options: {value: string, checked: boolean}[] = null;\r\n isShowSpinner = false;\r\n\r\n constructor(public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: InsparkMessageService,\r\n public router: Router,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.config.data.command.options.map(item => {\r\n return {value: item, checked: false};\r\n }\r\n );\r\n this.selected = Array(this.options.length).fill(false);\r\n }\r\n\r\n closeModal(val = null) {\r\n this.ref.close(val);\r\n }\r\n\r\n applySelection() {\r\n if (!this.selected) {\r\n this.messageService.message(gettext('Select object'));\r\n return;\r\n } else {\r\n this.closeModal({selected: this.options.filter(o => o.checked)});\r\n }\r\n\r\n }\r\n\r\n\r\n select(i) {\r\n this.options[i].checked = !this.options[i].checked;\r\n }\r\n\r\n\r\n\r\n highlight(value: string, text): string {\r\n const regex = new RegExp('(' + text + ')', 'gi');\r\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\r\n }\r\n}\r\n","<div class=\"c-panel__heading-title h4\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'in-object-tree',\r\n templateUrl: './object-tree.component.html',\r\n styleUrls: ['./object-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ObjectTreeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>object-tree works!</p>\r\n","import {\r\n Component, OnInit,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\r\nimport {gettext} from \"../../utils/gettextMarker.function\";\r\nimport {DynamicDialogConfig, DynamicDialogRef} from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'app-modal-input-text',\r\n templateUrl: './modal-input-text.component.html',\r\n styleUrls: ['./modal-input-text.component.scss'],\r\n})\r\nexport class ModalInputTextComponent implements OnInit {\r\n\r\n objects: any[];\r\n selected: Boolean[];\r\n title: string;\r\n objs;\r\n options: {value: string, checked: boolean}[] = null;\r\n param: any;\r\n isShowSpinner = false;\r\n maxLength = 0;\r\n\r\n constructor(public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private translateService: TranslateService,\r\n private messageService: InsparkMessageService,\r\n public router: Router,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.param = this.config.data.command.param;\r\n this.options = this.config.data.command.options.map(item => {\r\n return {value: item, checked: false};\r\n }\r\n );\r\n if (this.options && this.options.length > 0) {\r\n this.calculateWidth();\r\n }\r\n this.selected = Array(this.options.length).fill(false);\r\n }\r\n\r\n closeModal(val = null) {\r\n this.ref.close(val);\r\n }\r\n\r\n applySelection() {\r\n if (!this.selected) {\r\n this.messageService.message(gettext('Select object'));\r\n return;\r\n } else {\r\n this.closeModal(\r\n {\r\n selected: this.options.filter(o => o.checked),\r\n param: this.param ? this.param.value : undefined\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n select(i) {\r\n this.options[i].checked = !this.options[i].checked;\r\n }\r\n\r\n checkSelected() {\r\n if (this.param) {\r\n return !this.param.value;\r\n } else if (this.options) {\r\n return this.options.filter(opt => opt.checked).length === 0;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n highlight(value: string, text): string {\r\n const regex = new RegExp('(' + text + ')', 'gi');\r\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\r\n }\r\n\r\n calculateWidth() {\r\n this.options.forEach(opt => {\r\n if (opt.value.length * 7 > this.maxLength) {\r\n this.maxLength = opt.value.length * 7 + 100;\r\n }\r\n });\r\n }\r\n\r\n translate(str: string) {\r\n const splited = str.split('\\n');\r\n let translated = '';\r\n splited.forEach(s => translated += this.translateService.instant(s) + '\\n');\r\n return translated;\r\n }\r\n}\r\n","<div class=\"c-panel__heading-title h4\">\r\n {{'Enter parameter value' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\r\n <div *ngFor=\"let item of options; let i = index\">\r\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\r\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\r\n {{item.value}}\r\n </span>\r\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\r\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\r\n <i class=\"p-chkbox-box c-checkbox__icon\" ></i>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\r\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\r\n <div class=\"c-form-group\">\r\n <label class=\"c-label type_varchars\">\r\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\r\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"\r\n [name]=\"'Cancel'\"\r\n ></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n [name]=\"'Apply'\"\r\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n","import {ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'in-content-toggle',\r\n templateUrl: './content-toggle.component.html',\r\n styleUrls: ['./content-toggle.component.scss'],\r\n})\r\nexport class ContentToggleComponent implements OnInit {\r\n\r\n @Input() label: any;\r\n @Input() defaultOpen: boolean = true;\r\n @Input() isOpen = this.defaultOpen;\r\n @Input() icon: string = null;\r\n @Input() manualArrow: boolean = true;\r\n\r\n @Output() toggle: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChild('buttons', {static: true}) elementButtons: ElementRef;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.isOpen = this.defaultOpen\r\n }\r\n\r\n toggleOpen(e: MouseEvent) {\r\n // Получаем родительский элемент div\r\n const parentElement = this.elementButtons.nativeElement;\r\n\r\n // Проверяем, входит ли цель события в родительский элемент\r\n if (!parentElement.contains(e.target) || e.target === parentElement) {\r\n this.isOpen = !this.isOpen;\r\n this.toggle.emit(this.isOpen);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n }\r\n}\r\n","<div class=\"block\" (click)=\"toggleOpen($event)\" tabIndex=\"1\">\r\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\r\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\r\n <ng-content select=\"[arrow]\"></ng-content>\r\n </span>\r\n <span class=\"label\">\r\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\r\n {{label}}\r\n </span>\r\n <span class=\"counter\">\r\n <ng-content select=\"[header]\"></ng-content>\r\n </span>\r\n <div class=\"buttons\" #buttons>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"container\" *ngIf=\"isOpen\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n</div>\r\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'in-input-group',\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputGroupComponent),\r\n multi: true,\r\n }\r\n ],\r\n})\r\nexport class InputGroupComponent implements ControlValueAccessor, OnInit {\r\n\r\n isEditableView: boolean;\r\n\r\n @Input() name = null;\r\n @Input() measureunit = null;\r\n @Input() autocomplete = true;\r\n @Input() label = null;\r\n @Input() required = false;\r\n @Input() error = null;\r\n @Input() size = 100000;\r\n @Input() maxlength = 100000;\r\n @Input() width = 'auto';\r\n @Input() placeholder = '';\r\n @Input() id = null;\r\n @Input() testId = null;\r\n @Input() disabled: boolean;\r\n @Input() opacity = true;\r\n @Input() shadow = false;\r\n @Input() isEditMode = true;\r\n @Input() isMeasurementVisible = true;\r\n\r\n @Output() focus: EventEmitter<any> = new EventEmitter();\r\n @Output() blur: EventEmitter<any> = new EventEmitter();\r\n @Output() updateValue: EventEmitter<any> = new EventEmitter();\r\n @Output() disableEditableView: EventEmitter<any> = new EventEmitter();\r\n\r\n validators = [/^-?\\d*\\.?\\d*$/];\r\n value: string;\r\n _value;\r\n isEditable = true;\r\n\r\n ngOnInit() {\r\n this._value = this.value;\r\n }\r\n\r\n /**\r\n * Write form value to the DOM element (model => view)\r\n */\r\n writeValue(value: any): void {\r\n this.value = value ? value : this.name;\r\n this._value = this.value;\r\n }\r\n\r\n /**\r\n * Write form disabled state to the DOM element (model => view)\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /**\r\n * Update form when DOM element value changes (view => model)\r\n */\r\n registerOnChange(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.propagateChange = fn;\r\n }\r\n\r\n /**\r\n * Update form when DOM element is blurred (view => model)\r\n */\r\n registerOnTouched(fn: any): void {\r\n // Store the provided function as an internal method.\r\n this.onTouched = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {\r\n }\r\n\r\n private onChange(_: any) {\r\n this.propagateChange(this.value);\r\n }\r\n\r\n private onTouched() {\r\n }\r\n\r\n cancel() {\r\n this.isEditable = false;\r\n this.disableEditableView.emit(false);\r\n this.value = this._value;\r\n }\r\n\r\n numberOnly(event): boolean {\r\n if (event.keyCode === 8) {\r\n return true;\r\n }\r\n let test = '';\r\n if (this.value) {\r\n test = this.value + event.key;\r\n } else {\r\n test = event.key;\r\n }\r\n return this.validators[0].test(test);\r\n }\r\n\r\n changeEditMode() {\r\n this.isEditable = !this.isEditable;\r\n }\r\n\r\n //\r\n // disableEditableView() {\r\n // this.isEditableView.emit(false);\r\n // }\r\n\r\n changeValue(value: any): void {\r\n this.value = value;\r\n this._value = this.value;\r\n // this.isEditable = false;\r\n this.updateValue.emit(value);\r\n this.disableEditableView.emit(false);\r\n }\r\n\r\n isApplyDisabled() {\r\n return this.value != null ? false : true;\r\n }\r\n\r\n}\r\n","<label class=\"label type_varchars\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"isMeasurementVisible\" class=\"p-inputgroup-addon p-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\r\n <span class=\"p-inputgroup-addon__content\">{{measureunit}}</span>\r\n </span>\r\n <input (focus)=\"this.focus.emit($event)\"\r\n (keydown)=\"numberOnly($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled || !isEditable\"\r\n [id]=\"id\"\r\n [maxlength]=\"30\"\r\n [ngStyle]=\"{minWidth: '48px', textAlign: 'left', width: '100%'}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n class=\"p-inputtext c-input c-input_large field_{{id}}\"\r\n type=\"text\"/>\r\n <in-button (click)=\"changeValue(value)\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"isApplyDisabled()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'apply'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Apply' | translate\"\r\n icon=\"in in-check\"></in-button>\r\n <in-button (click)=\"cancel()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'cancel'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Cancel' | translate\"\r\n color=\"transparent\"\r\n icon=\"in in-close\"></in-button>\r\n </div>\r\n\r\n</label>\r\n\r\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\r\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\r\n<!-- [disabled]=\"isApplyDisabled()\"-->\r\n<!-- [isIconOnly]=\"true\"-->\r\n<!-- [label]=\"\"-->\r\n<!-- [name]=\"'apply'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\r\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [name]=\"'cancel'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\r\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px',-->\r\n<!-- 'display': 'inline-block',-->\r\n<!-- 'line-height': '2px',-->\r\n<!-- position: 'relative',-->\r\n<!-- left: '80px',-->\r\n<!-- top: '2px',-->\r\n<!-- opacity: isEditable ? '0' : '1',-->\r\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Edit' | translate\"-->\r\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\r\n<!--</div>-->\r\n\r\n","import {NgModule} from '@angular/core';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n\r\n@NgModule({\r\n imports: [\r\n DropdownModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n DropdownModule\r\n ],\r\n entryComponents: []\r\n})\r\nexport class PrimengComponentsModule {\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgModule,\r\n Output,\r\n QueryList,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {PrimengComponentsModule} from '../primeng.module';\r\nimport {InsparkTemplate} from '../inspark.shared';\r\nimport {TooltipModule} from 'primeng/tooltip';\r\nimport {ButtonModule} from 'primeng/button';\r\nimport {AutoComplete} from 'primeng/autocomplete';\r\n\r\n@Component({\r\n selector: 'in-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n animations: [trigger('overlayAnimation', [transition(':enter', [style({\r\n opacity: 0,\r\n transform: 'scaleY(0.8)'\r\n }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({opacity: 0}))])])],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class AutoCompleteComponent extends AutoComplete implements AfterContentInit, ControlValueAccessor {\r\n @Input() minLength: number = 1;\r\n\r\n @Input() delay: number = 300;\r\n\r\n @Input() style: any;\r\n\r\n @Input() panelStyle: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() panelStyleClass: string;\r\n\r\n @Input() inputStyle: any;\r\n\r\n @Input() inputId: string;\r\n\r\n @Input() inputStyleClass: string;\r\n\r\n @Input() placeholder: string;\r\n\r\n @Input() readonly: boolean;\r\n\r\n @Input() disabled: boolean;\r\n\r\n @Input() maxlength: number;\r\n\r\n @Input() name: string;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() size: number;\r\n\r\n @Input() appendTo: any;\r\n\r\n @Input() autoHighlight: boolean;\r\n\r\n @Input() forceSelection: boolean;\r\n\r\n @Input() type: string = 'text';\r\n\r\n @Input() autoZIndex: boolean = true;\r\n\r\n @Input() baseZIndex: number = 0;\r\n\r\n @Input() ariaLabel: string;\r\n\r\n @Input() ariaLabelledBy: string;\r\n\r\n @Input() dropdownIcon: string = \"pi pi-caret-down\";\r\n\r\n @Input() unique: boolean = true;\r\n\r\n @Output() completeMethod: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onUnselect: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onClear: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() onKeyUp: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input() field: string;\r\n\r\n @Input() scrollHeight: string = '200px';\r\n\r\n @Input() dropdown: boolean;\r\n\r\n @Input() dropdownMode: string = 'blank';\r\n\r\n @Input() multiple: boolean;\r\n\r\n @Input() tabindex: number;\r\n\r\n @Input() dataKey: string;\r\n\r\n @Input() emptyMessage: string;\r\n\r\n @Input() immutable: boolean = true;\r\n\r\n @Input() showTransitionOptions: string = '225ms ease-out';\r\n\r\n @Input() hideTransitionOptions: string = '195ms ease-in';\r\n\r\n @Input() autofocus: boolean;\r\n\r\n @Input() autocomplete: string = 'off';\r\n\r\n @ViewChild('in', {static: false}) inputEL: ElementRef;\r\n\r\n @ViewChild('multiIn', {static: false}) multiInputEL: ElementRef;\r\n\r\n @ViewChild('multiContainer', {static: false}) multiContainerEL: ElementRef;\r\n\r\n @ViewChild('ddBtn', {static: false}) dropdownButton: ElementRef;\r\n\r\n @ContentChildren(InsparkTemplate) templates: QueryList<any>;\r\n\r\n\r\n ngAfterContentInit() {\r\n this.templates.forEach((item) => {\r\n switch (item.getType()) {\r\n case 'item':\r\n this.itemTemplate = item.template;\r\n break;\r\n\r\n case 'selectedItem':\r\n this.selectedItemTemplate = item.template;\r\n break;\r\n\r\n default:\r\n this.itemTemplate = item.template;\r\n break;\r\n }\r\n });\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AutoCompleteComponent,\r\n ],\r\n imports: [\r\n TooltipModule,\r\n ScrollingModule,\r\n CommonModule,\r\n PrimengComponentsModule,\r\n ButtonModule,\r\n ],\r\n exports: [\r\n AutoCompleteComponent,\r\n ],\r\n entryComponents: [\r\n AutoCompleteComponent,\r\n ]\r\n})\r\nexport class AutoCompleteComponentModule {\r\n}\r\n","<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\n","import {Injectable} from '@angular/core';\r\n\r\n\r\nexport interface PieStatuses {\r\n '-1': number;\r\n 0: number;\r\n 1: number;\r\n 2: number;\r\n 3: number;\r\n}\r\n\r\n@Injectable()\r\nexport class PieService {\r\n\r\n\r\n private colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены\r\n\r\n private colors = {\r\n 1: '#31ac51',\r\n 2: '#EE9946',\r\n 3: '#F95C5D',\r\n 4: '#a20000',\r\n 0: '#7E8087',\r\n '-1': '#85B3CB'\r\n };\r\n\r\n create(statuses: PieStatuses, size): { path: string, color: string }[] {\r\n const data = [];\r\n let allCount = 0;\r\n this.colorArray.forEach((color: any) => {\r\n allCount += statuses[color] || 0;\r\n });\r\n let cumulativePercent = 0;\r\n this.colorArray.forEach((color: any) => {\r\n const count = statuses[color];\r\n if (!count) {\r\n return;\r\n }\r\n const percent = count / allCount;\r\n const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);\r\n cumulativePercent += percent;\r\n const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);\r\n\r\n const largeArcFlag = percent > .5 ? 1 : 0;\r\n\r\n const pathData = [\r\n `M ${startX} ${startY}`, // Move\r\n `A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`, // Arc\r\n `L 0 0`, // Line\r\n ].join(' ');\r\n\r\n data.push({\r\n path: pathData,\r\n color: this.colors[color + '']\r\n });\r\n });\r\n return data;\r\n }\r\n\r\n private getCoordinatesForPercent(size, percent) {\r\n const x = size / 2 * Math.cos(2 * Math.PI * percent);\r\n const y = size / 2 * Math.sin(2 * Math.PI * percent);\r\n return [x, y];\r\n }\r\n\r\n}\r\n\r\n","// @ts-nocheck\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {PieService, PieStatuses} from './pie.service';\r\n\r\n\r\n@Component({\r\n selector: 'in-pie',\r\n templateUrl: './pie.component.html',\r\n styleUrls: ['./pie.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n providers: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ObjectPieComponent implements OnDestroy, OnChanges, OnInit {\r\n\r\n\r\n @Input() count = 30;\r\n @Input() size = 40;\r\n\r\n\r\n @Input() statuses: PieStatuses =\r\n {\r\n '-1': 20,\r\n 0: 4,\r\n 1: 3,\r\n 2: 4,\r\n 3: 5\r\n };\r\n\r\n data;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private pieService: PieService,\r\n private cdr: ChangeDetectorRef,\r\n ) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.data = this.pieService.create(this.statuses, this.size);\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","<div class=\"pie-block\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {InputTextComponent} from './input-text/input-text.component';\r\nimport {TextareaComponent} from './textarea/textarea.component';\r\nimport {PanelComponent} from './panel/panel.component';\r\nimport {ComponentContainerComponent} from './component-container/component-container.component';\r\nimport {CheckboxComponent} from './checkbox/checkbox.component';\r\nimport {DropdownComponentModule} from './dropdown/dropdown.component';\r\nimport {TableComponentModule} from './table/table.component';\r\nimport {EmptyComponent} from './empty/empty.component';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport {PreloaderComponent} from './preloader/preloader.component';\r\nimport {InsparkStickyComponent} from './sticky/sticky.component';\r\nimport {InsparkHeaderComponent} from './header/header.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {BreadcrumbComponent} from './breadcrumb/breadcrumb.component';\r\nimport {FileComponent} from './file/file.component';\r\nimport {InsparkTemplate} from './inspark.shared';\r\nimport {SelectButtonComponent} from './select-button/select-button.component';\r\nimport {StatusCircleComponent} from './status-circle/status-circle.component';\r\nimport {InlineSVGModule} from 'ng-inline-svg';\r\nimport {SvgComponent} from './svg/svg.component';\r\nimport {SwitcherComponent} from './switcher/switcher.component';\r\nimport {MenuModule} from 'primeng/menu';\r\nimport {InlineMessageComponent} from './inline-message/inline-message.component';\r\nimport {SliderModule} from 'primeng/slider';\r\nimport {LinkComponent} from './link/link.component';\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {TreeTableComponentModule} from './tree-table/tree-table.component';\r\nimport {RadiobuttonComponent} from './radiobutton/radiobutton.component';\r\nimport {SelectListComponent} from './select-list/select-list.component';\r\nimport {ObjectTreeComponent} from './object-tree/object-tree.component';\r\nimport {ModalInputTextComponent} from './modal-input-text/modal-input-text.component';\r\nimport {ContentToggleComponent} from './content-toggle/content-toggle.component';\r\nimport {InputGroupComponent} from './input-group/input-group.component';\r\nimport {AutoCompleteComponentModule} from './autocomplete/autocomplete.component';\r\nimport {ObjectPieComponent} from './pie/pie.component';\r\nimport {RadioButtonModule} from 'primeng/radiobutton';\r\nimport {BreadcrumbModule} from 'primeng/breadcrumb';\r\nimport {TreeModule} from 'primeng/tree';\r\nimport {SharedModule} from 'primeng/api';\r\n\r\n@NgModule({\r\n imports: [\r\n AutoCompleteComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n DropdownComponentModule,\r\n TableComponentModule,\r\n TreeTableComponentModule,\r\n RadioButtonModule,\r\n TranslateModule,\r\n MenuModule,\r\n SliderModule,\r\n NgbModule,\r\n InlineSVGModule.forRoot({baseUrl: 'assets/images/'}),\r\n BreadcrumbModule,\r\n TreeModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n ButtonComponent,\r\n InputTextComponent,\r\n TextareaComponent,\r\n PanelComponent,\r\n ComponentContainerComponent,\r\n CheckboxComponent,\r\n EmptyComponent,\r\n PreloaderComponent,\r\n InsparkStickyComponent,\r\n InsparkHeaderComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent,\r\n FileComponent,\r\n SelectButtonComponent,\r\n ModalInputTextComponent,\r\n SelectListComponent,\r\n StatusCircleComponent,\r\n SvgComponent,\r\n SwitcherComponent,\r\n InlineMessageComponent,\r\n LinkComponent,\r\n InsparkTemplate,\r\n TooltipComponent,\r\n RadiobuttonComponent,\r\n ObjectTreeComponent,\r\n ContentToggleComponent,\r\n InputGroupComponent,\r\n ObjectPieComponent,\r\n ],\r\n exports: [\r\n ButtonComponent,\r\n InputTextComponent,\r\n TextareaComponent,\r\n PanelComponent,\r\n ComponentContainerComponent,\r\n CheckboxComponent,\r\n DropdownComponentModule,\r\n TableComponentModule,\r\n TreeTableComponentModule,\r\n EmptyComponent,\r\n PreloaderComponent,\r\n InsparkStickyComponent,\r\n InsparkHeaderComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent,\r\n FileComponent,\r\n SelectButtonComponent,\r\n ModalInputTextComponent,\r\n SelectListComponent,\r\n StatusCircleComponent,\r\n SvgComponent,\r\n SwitcherComponent,\r\n MenuModule,\r\n SliderModule,\r\n InlineMessageComponent,\r\n LinkComponent,\r\n InsparkTemplate,\r\n NgbModule,\r\n TooltipComponent,\r\n RadiobuttonComponent,\r\n ObjectTreeComponent,\r\n ContentToggleComponent,\r\n ObjectPieComponent,\r\n InputGroupComponent,\r\n AutoCompleteComponentModule\r\n ],\r\n entryComponents: [SelectListComponent, ModalInputTextComponent],\r\n schemas: [NO_ERRORS_SCHEMA]\r\n})\r\nexport class InsparkComponentsModule {\r\n}\r\n","/*\r\n * Public API Surface of inspark-components\r\n */\r\n\r\nexport {PipesModule} from \"./pipes/pipes.module\";\r\nexport {InsparkMessageService} from \"./services/inspark-message.service\";\r\nexport {InsparkDialogService} from \"./services/inspark-dialog.service\";\r\nexport {CommunicationService} from './components/communication.service';\r\nexport {InsparkComponentsModule} from \"./components/inspark.module\";\r\nexport {TableColumns} from './interface';\r\n\r\nexport {ButtonComponent} from './components/button/button.component';\r\nexport {InputTextComponent} from './components/input-text/input-text.component';\r\nexport {TextareaComponent} from './components/textarea/textarea.component';\r\nexport {PanelComponent} from './components/panel/panel.component';\r\nexport {ComponentContainerComponent} from './components/component-container/component-container.component';\r\nexport {CheckboxComponent} from './components/checkbox/checkbox.component';\r\nexport {DropdownComponentModule} from './components/dropdown/dropdown.component';\r\nexport {TableComponentModule} from './components/table/table.component';\r\nexport {EmptyComponent} from './components/empty/empty.component';\r\nexport {TranslateModule} from '@ngx-translate/core';\r\nexport {PreloaderComponent} from './components/preloader/preloader.component';\r\nexport {InsparkStickyComponent} from './components/sticky/sticky.component';\r\nexport {InsparkHeaderComponent} from './components/header/header.component';\r\nexport {ToolbarComponent} from './components/toolbar/toolbar.component';\r\nexport {BreadcrumbModule} from 'primeng/breadcrumb';\r\nexport {RadioButtonModule} from 'primeng/radiobutton';\r\nexport {SharedModule} from 'primeng/api';\r\nexport {TreeModule} from 'primeng/tree';\r\nexport {BreadcrumbComponent} from './components/breadcrumb/breadcrumb.component';\r\nexport {FileComponent} from './components/file/file.component';\r\nexport {InsparkTemplate} from './components/inspark.shared';\r\nexport {SelectButtonComponent} from './components/select-button/select-button.component';\r\nexport {StatusCircleComponent} from './components/status-circle/status-circle.component';\r\nexport {InlineSVGModule} from 'ng-inline-svg';\r\nexport {SvgComponent} from './components/svg/svg.component';\r\nexport {SwitcherComponent} from './components/switcher/switcher.component';\r\nexport {MenuModule} from 'primeng/menu';\r\nexport {InlineMessageComponent} from './components/inline-message/inline-message.component';\r\nexport {SliderModule} from 'primeng/slider';\r\nexport {LinkComponent} from './components/link/link.component';\r\nexport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nexport {TooltipComponent} from './components/tooltip/tooltip.component';\r\nexport {TreeTableComponentModule} from './components/tree-table/tree-table.component';\r\nexport {RadiobuttonComponent} from './components/radiobutton/radiobutton.component';\r\nexport {SelectListComponent} from './components/select-list/select-list.component';\r\nexport {ObjectTreeComponent} from './components/object-tree/object-tree.component';\r\nexport {ModalInputTextComponent} from './components/modal-input-text/modal-input-text.component';\r\nexport {ContentToggleComponent} from './components/content-toggle/content-toggle.component';\r\nexport {AutoCompleteComponentModule} from './components/autocomplete/autocomplete.component';\r\nexport * from './interface';\r\nexport * from './pipes/propertyValue.pipe';\r\nexport * from './pipes/time.pipe';\r\nexport * from './pipes/safeUrl.pipe';\r\nexport * from './pipes/sort-by.pipe';\r\nexport * from './components/dropdown/dropdown.component';\r\nexport * from './components/table/table.component';\r\nexport * from './components/tree-table/tree-table.component';\r\nexport * from './components/input-group/input-group.component';\r\nexport * from './components/autocomplete/autocomplete.component';\r\nexport * from './components/pie/pie.component';\r\nexport * from './components/table/table-columns-multiselect/table-columns-multiselect.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","_","PButton","i2","i4.PreloaderComponent","i5.SvgComponent","i3","i2.TableClickOutsideDirective","i3.TableMenuOverlayComponent","i4","i5","i6","i8.PropertyValuePipe","i9","i2.InsparkStickyComponent","i2.ButtonComponent","i2.SvgComponent","i4.SvgComponent","i5.TableColumnsMultiselectComponent","i6.PropertyValuePipe","i7","i2.InsparkMessageService","i5.ButtonComponent","i6.ComponentContainerComponent","i3.InsparkMessageService","i7.ButtonComponent","i8.ComponentContainerComponent","i3.ButtonComponent","i2.PieService"],"mappings":"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"}
|