From b129794ff4d4511126331886a3da58baf75c2e7c Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Thu, 11 Jul 2024 13:55:50 +0300 Subject: [PATCH 01/94] SUPPORT-8381: add ng2-file-upload lib --- frontend/package-lock.json | 5 +++++ frontend/package.json | 1 + frontend/src/ts/modules/app/app.module.ts | 4 +++- frontend/systemjs.config.js | 3 ++- frontend/systemjs.preview.config.js | 3 ++- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 18c6c476..ca099d6c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -6980,6 +6980,11 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "ng2-file-upload": { + "version": "1.3.0", + "resolved": "https://repo.micord.ru/repository/npm-all/ng2-file-upload/-/ng2-file-upload-1.3.0.tgz", + "integrity": "sha512-Pudxik6LWYsT8hNiEW7RfjgGWAnvfQywxwJYMdt1snTUe+KnlRc/QqPv3QEQW6plXTanuLkYz/TbqilSfSHOsw==" + }, "ngx-cookie": { "version": "3.0.1", "resolved": "https://repo.micord.ru/repository/npm-all/ngx-cookie/-/ngx-cookie-3.0.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index ed8e8738..14acbad2 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -50,6 +50,7 @@ "jsgantt-improved": "2.0.10-cg", "moment": "2.17.1", "moment-timezone": "0.5.11", + "ng2-file-upload": "^1.3.0", "ngx-cookie": "3.0.1", "ngx-international-phone-number": "1.0.6", "ngx-toastr": "10.2.0-cg", diff --git a/frontend/src/ts/modules/app/app.module.ts b/frontend/src/ts/modules/app/app.module.ts index 33d67dba..ae1e2be4 100644 --- a/frontend/src/ts/modules/app/app.module.ts +++ b/frontend/src/ts/modules/app/app.module.ts @@ -30,6 +30,7 @@ import {TaskListComponent} from "./component/task-list.component"; import {ProcessListComponent} from "./component/process-list.component"; import {TaskComponent} from "./component/task.component"; import {TaskNotFoundComponent} from "./component/task-not-found.component"; +import {FileUploadModule} from "ng2-file-upload"; registerLocaleData(localeRu); export const DIRECTIVES = [ @@ -62,7 +63,8 @@ export const DIRECTIVES = [ ComponentsModule, AgGridModule, RouterModule, - InternationalPhoneNumberModule + InternationalPhoneNumberModule, + FileUploadModule ], declarations: [ DIRECTIVES diff --git a/frontend/systemjs.config.js b/frontend/systemjs.config.js index 5b9937f0..706856be 100644 --- a/frontend/systemjs.config.js +++ b/frontend/systemjs.config.js @@ -62,7 +62,8 @@ 'chartjs-adapter-moment': 'npm:chartjs-adapter-moment/dist/chartjs-adapter-moment.js', 'tslib': 'npm:tslib/tslib.js', 'ngx-international-phone-number': 'npm:ngx-international-phone-number/ngx-international-phone-number.umd.js', - 'google-libphonenumber': 'npm:google-libphonenumber/dist/libphonenumber.js' + 'google-libphonenumber': 'npm:google-libphonenumber/dist/libphonenumber.js', + 'ng2-file-upload': 'npm:ng2-file-upload/bundles/ng2-file-upload.umd.js' }, packages: { 'webbpm': { main: 'main', defaultExtension: 'js'}, diff --git a/frontend/systemjs.preview.config.js b/frontend/systemjs.preview.config.js index d2c44870..1c70ed56 100644 --- a/frontend/systemjs.preview.config.js +++ b/frontend/systemjs.preview.config.js @@ -62,7 +62,8 @@ 'chartjs-adapter-moment': 'npm:chartjs-adapter-moment/dist/chartjs-adapter-moment.js', 'tslib': 'npm:tslib/tslib.js', 'ngx-international-phone-number': 'npm:ngx-international-phone-number/ngx-international-phone-number.umd.js', - 'google-libphonenumber': 'npm:google-libphonenumber/dist/libphonenumber.js' + 'google-libphonenumber': 'npm:google-libphonenumber/dist/libphonenumber.js', + 'ng2-file-upload': 'npm:ng2-file-upload/bundles/ng2-file-upload.umd.js' }, packages: { 'preview': { main: './modules/preview/preview.main', defaultExtension: 'js'}, From 09256d4ea9c8e533ed08314b4ef7517f8ce7e4c9 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Thu, 11 Jul 2024 14:20:42 +0300 Subject: [PATCH 02/94] SUPPORT-8381: add FileUploadV2 component --- .../template/ervu/component/FileUploadV2.html | 29 +++ .../ervu/component/fileupload/FileUploadV2.ts | 184 ++++++++++++++++++ frontend/src/ts/modules/app/app.module.ts | 4 +- 3 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 frontend/src/resources/template/ervu/component/FileUploadV2.html create mode 100644 frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts diff --git a/frontend/src/resources/template/ervu/component/FileUploadV2.html b/frontend/src/resources/template/ervu/component/FileUploadV2.html new file mode 100644 index 00000000..a8a4b0d4 --- /dev/null +++ b/frontend/src/resources/template/ervu/component/FileUploadV2.html @@ -0,0 +1,29 @@ +
+
+ {{selectFileFieldText}} + + +
+
+
+ {{item?.file?.name}} + {{item?.file?.size/1024/1024 | number: '.2'}} MB + +
+
+
+
+
+ +
\ No newline at end of file diff --git a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts new file mode 100644 index 00000000..1a934dbc --- /dev/null +++ b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts @@ -0,0 +1,184 @@ +import { + InputControl, + NotNull, + Visible, + Event, + MessagesService, + UnsupportedOperationError +} from "@webbpm/base-package"; +import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef} from "@angular/core"; +import {FileItem, FileUploader, ParsedResponseHeaders} from "ng2-file-upload"; +import {FileLikeObject} from "ng2-file-upload/file-upload/file-like-object.class"; + +@Component({ + moduleId: module.id, + selector: "file-upload-v2", + templateUrl: "./../../../../../src/resources/template/ervu/component/FileUploadV2.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class FileUploadV2 extends InputControl { + @NotNull("true") + public selectFileFieldText: string; + @NotNull("true") + public selectFileButtonName: string; + @NotNull("true") + public removeFileButtonName: string; + public maxFileSizeMb: number; + public extensionFilter: string[] = []; + public maxFilesToUpload: number; + @NotNull("true") + public displayFileSize: boolean = false; + @NotNull("true") + public displayProgressBar: boolean = false; + + @Visible("false") + public uploader: FileUploader; + @Visible("false") + public fileAddedEvent: Event = new Event(); + @Visible("false") + public fileDeletedEvent: Event = new Event(); + @Visible("false") + public fileUploadStartEvent: Event = new Event(); + @Visible("false") + public fileUploadEndEvent: Event = new Event(); + @Visible("false") + public fileUploadFailedEvent: Event = new Event(); + + private fileInputEl: any; + private url: string = '/files/upload'; + private messagesService: MessagesService; + + constructor(el: ElementRef, cd: ChangeDetectorRef) { + super(el, cd); + this.uploader = new FileUploader({url: this.url}); + } + + initialize() { + super.initialize(); + this.messagesService = this.injector.get(MessagesService); + + this.uploader.setOptions({ + url: this.url, + autoUpload: false, + filters: [{ + name: 'extension', + fn: (item: any): boolean => { + if (!this.extensionFilter.length) { + return true; + } + const fileExtension = item.name.substring(item.name.lastIndexOf('.') + 1, item.name.length); + for (let ext of this.extensionFilter) { + if (ext.toUpperCase() === fileExtension.toUpperCase()) { + return true; + } + } + return false; + } + }], + maxFileSize: this.maxFileSizeMb ? this.maxFileSizeMb * 1024 * 1024 : undefined, + queueLimit: this.maxFilesToUpload ? this.maxFilesToUpload : undefined + }); + + this.setUploaderMethods(); + } + + ngAfterViewInit() { + super.ngAfterViewInit(); + this.fileInputEl = $(this.el.nativeElement).find('.file-input'); + } + + openFileChooseDialog() { + this.fileInputEl.click(); + } + + @Visible() + uploadFiles() { + this.uploader.uploadAll(); + } + + removeFile(item: FileItem) { + item.remove(); + this.fileDeletedEvent.trigger(); + } + + private setUploaderMethods() { + this.uploader.onBeforeUploadItem = (fileItem: FileItem) => { + this.fileUploadStartEvent.trigger(); + }; + + this.uploader.onErrorItem = (item: FileItem, + response: string) => { + this.fileUploadFailedEvent.trigger(); + this.messagesService.error(`Не удалось отправить файл ${item.file.name}.`); + throw new Error(`Fail upload file ${item.file.name}: ${response}`); + }; + + this.uploader.onCompleteAll = () => { + this.fileUploadEndEvent.trigger(); + }; + + this.uploader.onAfterAddingFile = (fileItem: FileItem) => { + this.fileAddedEvent.trigger(); + } + + this.uploader.onWhenAddingFileFailed = (item: FileLikeObject, filter: any, options: any) => { + switch (filter.name) { + case "fileSize": + this.messagesService.error(`Размер файла ${item.name} превышает предельно допустимый = ${this.maxFileSizeMb} MB`); + break; + case "queueLimit": + this.messagesService.error(`Не удалось добавить файл ${item.name}. ` + + `Достигнуто максимальное количество файлов для загрузки = ${this.maxFilesToUpload}`); + break; + case "extension": + this.messagesService.error(`Файл ${item.name} имеет недопустимое расширение.`); + break; + default: + this.messagesService.error(`Не удалось добавить файл ${item.name}.`); + } + }; + } + + @Visible() + getExtensions(): string { + if (this.extensionFilter) { + return this.extensionFilter + .map(s => '.' + s) + .join(',') + } + return undefined; + } + + subscribeToModelChange() { + //empty because there is no ngModel here + } + + unsubscribeToModelChange() { + //empty because there is no ngModel here + } + + @Visible() + getPresentationValue(): string | number | boolean { + let fileNames: string = ''; + let fileItems: FileItem[] = this.uploader.queue; + if (fileItems) { + fileItems.forEach((fileItem) => { + fileNames += fileItem.file.name; + }); + } + return fileNames; + } + + @Visible() + getValue(): any { + return this.uploader.queue.map(fileItem => fileItem._file); + } + + getValueAsModel(): any { + throw new UnsupportedOperationError("Unsupported operation"); + } + + setValue(value: any): any { + throw new UnsupportedOperationError("Unsupported operation"); + } +} \ No newline at end of file diff --git a/frontend/src/ts/modules/app/app.module.ts b/frontend/src/ts/modules/app/app.module.ts index ae1e2be4..01ee3f50 100644 --- a/frontend/src/ts/modules/app/app.module.ts +++ b/frontend/src/ts/modules/app/app.module.ts @@ -31,6 +31,7 @@ import {ProcessListComponent} from "./component/process-list.component"; import {TaskComponent} from "./component/task.component"; import {TaskNotFoundComponent} from "./component/task-not-found.component"; import {FileUploadModule} from "ng2-file-upload"; +import {FileUploadV2} from "../../ervu/component/fileupload/FileUploadV2"; registerLocaleData(localeRu); export const DIRECTIVES = [ @@ -49,7 +50,8 @@ export const DIRECTIVES = [ forwardRef(() => TaskListComponent), forwardRef(() => ProcessListComponent), forwardRef(() => TaskComponent), - forwardRef(() => TaskNotFoundComponent) + forwardRef(() => TaskNotFoundComponent), + forwardRef(() => FileUploadV2) ]; @NgModule({ From b5df0c1e0f2c3f94ce0da062e3d0fac4561ba98e Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Thu, 11 Jul 2024 15:16:14 +0300 Subject: [PATCH 03/94] SUPPORT-8381: add controller and service --- backend/src/main/java/AppConfig.java | 3 +- backend/src/main/java/WebAppInitializer.java | 8 +++++ .../controller/FileUploadV2Controller.java | 35 +++++++++++++++++++ .../fileupload/FileUploadV2Service.java | 10 ++++++ .../ervu/component/fileupload/FileUploadV2.ts | 2 +- 5 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 backend/src/main/java/ervu/controller/FileUploadV2Controller.java create mode 100644 backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java diff --git a/backend/src/main/java/AppConfig.java b/backend/src/main/java/AppConfig.java index f7645b22..becb0ef8 100644 --- a/backend/src/main/java/AppConfig.java +++ b/backend/src/main/java/AppConfig.java @@ -34,7 +34,8 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc; "component.addresses", "gen", "ru.cg", - "ru.micord" + "ru.micord", + "ervu" }) @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableWebMvc diff --git a/backend/src/main/java/WebAppInitializer.java b/backend/src/main/java/WebAppInitializer.java index f4fef231..aca2b998 100644 --- a/backend/src/main/java/WebAppInitializer.java +++ b/backend/src/main/java/WebAppInitializer.java @@ -1,5 +1,7 @@ +import javax.servlet.MultipartConfigElement; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import org.springframework.web.util.IntrospectorCleanupListener; @@ -28,4 +30,10 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet protected Class[] getServletConfigClasses() { return new Class[0]; } + + @Override + protected void customizeRegistration(ServletRegistration.Dynamic registration) { + MultipartConfigElement multipartConfigElement = new MultipartConfigElement("/tmp"); + registration.setMultipartConfig(multipartConfigElement); + } } diff --git a/backend/src/main/java/ervu/controller/FileUploadV2Controller.java b/backend/src/main/java/ervu/controller/FileUploadV2Controller.java new file mode 100644 index 00000000..d9a80dfa --- /dev/null +++ b/backend/src/main/java/ervu/controller/FileUploadV2Controller.java @@ -0,0 +1,35 @@ +package ervu.controller; + +import ervu.service.fileupload.FileUploadV2Service; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import ru.cg.webbpm.modules.standard_annotations.validation.NotNull; +import ru.cg.webbpm.modules.webkit.beans.Behavior; + +/** + * @author Alexandr Shalaginov + */ +@RestController +public class FileUploadV2Controller extends Behavior { + @NotNull + public final FileUploadV2Service fileUploadV2Service; + + public FileUploadV2Controller(FileUploadV2Service fileUploadV2Service) { + this.fileUploadV2Service = fileUploadV2Service; + } + + @RequestMapping(value = "/file/upload", method = RequestMethod.POST) + public ResponseEntity saveFile(@RequestParam("file") MultipartFile multipartFile) { + if (this.fileUploadV2Service.saveFile(multipartFile)) { + return ResponseEntity.ok("File successfully uploaded."); + } + else { + return ResponseEntity.internalServerError().body("An error occurred while uploading file."); + } + } +} diff --git a/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java b/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java new file mode 100644 index 00000000..274a64bd --- /dev/null +++ b/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java @@ -0,0 +1,10 @@ +package ervu.service.fileupload; + +import org.springframework.web.multipart.MultipartFile; + +/** + * @author Alexandr Shalaginov + */ +public interface FileUploadV2Service { + boolean saveFile(MultipartFile multipartFile); +} diff --git a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts index 1a934dbc..5ec1b991 100644 --- a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts +++ b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts @@ -45,7 +45,7 @@ export class FileUploadV2 extends InputControl { public fileUploadFailedEvent: Event = new Event(); private fileInputEl: any; - private url: string = '/files/upload'; + private url: string = '/file/upload'; private messagesService: MessagesService; constructor(el: ElementRef, cd: ChangeDetectorRef) { From f244f6a0e170397dffb55e676b9bc44ab0497351 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 11:35:57 +0300 Subject: [PATCH 04/94] SUPPORT-8381: some front changes --- .../src/resources/css/components-lkrp.css | 12 ++++ .../template/ervu/component/FileUploadV2.html | 10 +-- .../ervu/component/fileupload/FileUploadV2.ts | 67 ++++++++++++------- 3 files changed, 61 insertions(+), 28 deletions(-) diff --git a/frontend/src/resources/css/components-lkrp.css b/frontend/src/resources/css/components-lkrp.css index 36e6034f..f2347a31 100644 --- a/frontend/src/resources/css/components-lkrp.css +++ b/frontend/src/resources/css/components-lkrp.css @@ -833,3 +833,15 @@ .webbpm.ervu_lkrp_ul :is(.fieldset, .warning-group) .horizontal-container text + button-component:not(.info) { margin-top: -2px; } + +/* FileUploadV2 start */ +.webbpm .file-upload-v2 .file-drop-zone { + position: relative; + display: flex; + justify-content: center; + padding: 152px 0 66px 0; + border: 1px dashed #828282; + border-radius: 16px; + background: #f2f2f2; +} +/* FileUploadV2 end */ \ No newline at end of file diff --git a/frontend/src/resources/template/ervu/component/FileUploadV2.html b/frontend/src/resources/template/ervu/component/FileUploadV2.html index a8a4b0d4..c1f4cd5c 100644 --- a/frontend/src/resources/template/ervu/component/FileUploadV2.html +++ b/frontend/src/resources/template/ervu/component/FileUploadV2.html @@ -4,7 +4,7 @@
+ [hidden]="!(uploader.queue.length < maxFilesToUpload) || !isDropZoneVisible"> {{selectFileFieldText}}
-
+
{{item?.file?.name}} {{item?.file?.size/1024/1024 | number: '.2'}} MB @@ -23,7 +23,9 @@
-
+
-
\ No newline at end of file diff --git a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts index 5ec1b991..e57153f6 100644 --- a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts +++ b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts @@ -7,15 +7,15 @@ import { UnsupportedOperationError } from "@webbpm/base-package"; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef} from "@angular/core"; -import {FileItem, FileUploader, ParsedResponseHeaders} from "ng2-file-upload"; +import {FileItem, FileUploader} from "ng2-file-upload"; import {FileLikeObject} from "ng2-file-upload/file-upload/file-like-object.class"; @Component({ - moduleId: module.id, - selector: "file-upload-v2", - templateUrl: "./../../../../../src/resources/template/ervu/component/FileUploadV2.html", - changeDetection: ChangeDetectionStrategy.OnPush -}) + moduleId: module.id, + selector: "file-upload-v2", + templateUrl: "./../../../../../src/resources/template/ervu/component/FileUploadV2.html", + changeDetection: ChangeDetectionStrategy.OnPush + }) export class FileUploadV2 extends InputControl { @NotNull("true") public selectFileFieldText: string; @@ -44,8 +44,12 @@ export class FileUploadV2 extends InputControl { @Visible("false") public fileUploadFailedEvent: Event = new Event(); + protected isDropZoneVisible: boolean = true; + protected isFilesListVisible: boolean = true; + protected isProgressBarVisible: boolean = false; + private fileInputEl: any; - private url: string = '/file/upload'; + private url: string = '/backend/file/upload'; private messagesService: MessagesService; constructor(el: ElementRef, cd: ChangeDetectorRef) { @@ -61,19 +65,19 @@ export class FileUploadV2 extends InputControl { url: this.url, autoUpload: false, filters: [{ - name: 'extension', - fn: (item: any): boolean => { - if (!this.extensionFilter.length) { - return true; - } - const fileExtension = item.name.substring(item.name.lastIndexOf('.') + 1, item.name.length); - for (let ext of this.extensionFilter) { - if (ext.toUpperCase() === fileExtension.toUpperCase()) { - return true; - } - } - return false; - } + name: 'extension', + fn: (item: any): boolean => { + if (!this.extensionFilter.length) { + return true; + } + const fileExtension = item.name.substring(item.name.lastIndexOf('.') + 1, item.name.length); + for (let ext of this.extensionFilter) { + if (ext.toUpperCase() === fileExtension.toUpperCase()) { + return true; + } + } + return false; + } }], maxFileSize: this.maxFileSizeMb ? this.maxFileSizeMb * 1024 * 1024 : undefined, queueLimit: this.maxFilesToUpload ? this.maxFilesToUpload : undefined @@ -104,17 +108,32 @@ export class FileUploadV2 extends InputControl { private setUploaderMethods() { this.uploader.onBeforeUploadItem = (fileItem: FileItem) => { this.fileUploadStartEvent.trigger(); + this.isDropZoneVisible = false; + this.isFilesListVisible = false; + this.isProgressBarVisible = true; + this.cd.markForCheck(); }; this.uploader.onErrorItem = (item: FileItem, response: string) => { this.fileUploadFailedEvent.trigger(); - this.messagesService.error(`Не удалось отправить файл ${item.file.name}.`); - throw new Error(`Fail upload file ${item.file.name}: ${response}`); + this.uploader.cancelAll(); + this.messagesService.error(`Не удалось отправить следующие файлы: ${item.file.name},` + + ` ${this.uploader.getNotUploadedItems() + .map(notUploadeditem => notUploadeditem.file.name) + .join(', ')}.`); + this.uploader.clearQueue(); + this.isDropZoneVisible = true; + this.isFilesListVisible = true; + this.isProgressBarVisible = false; + this.cd.markForCheck(); }; this.uploader.onCompleteAll = () => { + this.uploader.clearQueue(); this.fileUploadEndEvent.trigger(); + this.isProgressBarVisible = false; + this.cd.markForCheck(); }; this.uploader.onAfterAddingFile = (fileItem: FileItem) => { @@ -158,7 +177,7 @@ export class FileUploadV2 extends InputControl { } @Visible() - getPresentationValue(): string | number | boolean { + getPresentationValue(): string { let fileNames: string = ''; let fileItems: FileItem[] = this.uploader.queue; if (fileItems) { @@ -170,7 +189,7 @@ export class FileUploadV2 extends InputControl { } @Visible() - getValue(): any { + getValue(): File[] { return this.uploader.queue.map(fileItem => fileItem._file); } From 1d137809e9d2221514af88fd94a02811f5711abd Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 11:55:39 +0300 Subject: [PATCH 05/94] SUPPORT-8381: add file upload service impl and file upload client --- .../fileupload/ErvuFileUploadClient.java | 10 ++++ .../impl/ErvuFileUploadClientImpl.java | 51 +++++++++++++++++++ .../impl/ErvuFileUploadV2ServiceImpl.java | 23 +++++++++ 3 files changed, 84 insertions(+) create mode 100644 backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java create mode 100644 backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java create mode 100644 backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java diff --git a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java new file mode 100644 index 00000000..20f492e6 --- /dev/null +++ b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java @@ -0,0 +1,10 @@ +package ervu.client.fileupload; + +import org.springframework.web.multipart.MultipartFile; + +/** + * @author Alexandr Shalaginov + */ +public interface ErvuFileUploadClient { + boolean uploadFile(MultipartFile multipartFile); +} diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java new file mode 100644 index 00000000..56ab9289 --- /dev/null +++ b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java @@ -0,0 +1,51 @@ +package ervu.client.fileupload.impl; + +import ervu.client.fileupload.ErvuFileUploadClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author Alexandr Shalaginov + */ +@Component +public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { + @Value("${file.upload.url:#{null}}") + private String url; + private final RestTemplate restTemplate; + private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); + + public ErvuFileUploadClientImpl() { + this.restTemplate = new RestTemplate(); + } + + @Override + public boolean uploadFile(MultipartFile multipartFile) { + if (this.url == null) { + throw new RuntimeException("Property file.upload.url is null"); + } + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + MultiValueMap body = new LinkedMultiValueMap<>(); + body.add("file", multipartFile.getResource()); + HttpEntity> requestEntity = new HttpEntity<>(body, headers); + ResponseEntity response = this.restTemplate.postForEntity(url, requestEntity, Object.class); + return response.getStatusCode().is2xxSuccessful(); + } + catch (RestClientException e) { + logger.error("Upload file failed", e); + return false; + } + } +} diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java new file mode 100644 index 00000000..18d1a1ba --- /dev/null +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -0,0 +1,23 @@ +package ervu.service.fileupload.impl; + +import ervu.client.fileupload.ErvuFileUploadClient; +import ervu.service.fileupload.FileUploadV2Service; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author Alexandr Shalaginov + */ +@Service +public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { + private final ErvuFileUploadClient ervuFileUploadClient; + + public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient) { + this.ervuFileUploadClient = ervuFileUploadClient; + } + + @Override + public boolean saveFile(MultipartFile multipartFile) { + return this.ervuFileUploadClient.uploadFile(multipartFile); + } +} From 51c507a2b0f13b45cf13c85f1c90cfbbceddc03e Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 12:00:23 +0300 Subject: [PATCH 06/94] SUPPORT-8381: add spring kafka dependency --- backend/pom.xml | 4 ++++ pom.xml | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/backend/pom.xml b/backend/pom.xml index 409ca774..dce5ddb7 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -99,6 +99,10 @@ org.springframework.security spring-security-config + + org.springframework.kafka + spring-kafka + ru.cg.webbpm.modules inject diff --git a/pom.xml b/pom.xml index c9cef478..d5e9d18e 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ 3.174.1 72000 6.15.0 + 2.6.13 @@ -293,6 +294,11 @@ spring-security-kerberos-web ${spring-security-kerberos.version} + + org.springframework.kafka + spring-kafka + ${spring-kafka.version} + org.apache.httpcomponents httpcore From ac883a259ecf96c615a9000a3bf524576c89b36a Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 12:02:27 +0300 Subject: [PATCH 07/94] SUPPORT-8381: add kafka producer config --- .../src/main/java/KafkaProducerConfig.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 backend/src/main/java/KafkaProducerConfig.java diff --git a/backend/src/main/java/KafkaProducerConfig.java b/backend/src/main/java/KafkaProducerConfig.java new file mode 100644 index 00000000..7d741f62 --- /dev/null +++ b/backend/src/main/java/KafkaProducerConfig.java @@ -0,0 +1,40 @@ +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.common.serialization.StringSerializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.kafka.core.DefaultKafkaProducerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.core.ProducerFactory; + +/** + * @author Alexandr Shalaginov + */ +@Configuration +public class KafkaProducerConfig { + @Value("${kafka.send.url:#{null}}") + private String kafkaUrl; + + @Bean + public ProducerFactory producerFactory() { + return new DefaultKafkaProducerFactory<>(producerConfigs()); + } + + @Bean + public Map producerConfigs() { + Map props = new HashMap<>(); + props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaUrl); + props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); + props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); + return props; + } + + @Bean + public KafkaTemplate kafkaTemplate() { + return new KafkaTemplate<>(producerFactory()); + } +} + From e2ae106b8abe647aa6244eb6e4b1ff8d9e3f14c8 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 12:15:32 +0300 Subject: [PATCH 08/94] SUPPORT-8381: add kafka client --- .../src/main/java/KafkaProducerConfig.java | 5 ++- .../java/ervu/client/kafka/KafkaClient.java | 8 ++++ .../client/kafka/impl/KafkaClientImpl.java | 44 +++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 backend/src/main/java/ervu/client/kafka/KafkaClient.java create mode 100644 backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java diff --git a/backend/src/main/java/KafkaProducerConfig.java b/backend/src/main/java/KafkaProducerConfig.java index 7d741f62..5db01f78 100644 --- a/backend/src/main/java/KafkaProducerConfig.java +++ b/backend/src/main/java/KafkaProducerConfig.java @@ -25,8 +25,11 @@ public class KafkaProducerConfig { @Bean public Map producerConfigs() { + if (this.kafkaUrl == null) { + throw new RuntimeException("Property kafka.send.url is null"); + } Map props = new HashMap<>(); - props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaUrl); + props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, this.kafkaUrl); props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); return props; diff --git a/backend/src/main/java/ervu/client/kafka/KafkaClient.java b/backend/src/main/java/ervu/client/kafka/KafkaClient.java new file mode 100644 index 00000000..16705b85 --- /dev/null +++ b/backend/src/main/java/ervu/client/kafka/KafkaClient.java @@ -0,0 +1,8 @@ +package ervu.client.kafka; + +/** + * @author Alexandr Shalaginov + */ +public interface KafkaClient { + void sendMessage(String message); +} diff --git a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java new file mode 100644 index 00000000..265193c1 --- /dev/null +++ b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java @@ -0,0 +1,44 @@ +package ervu.client.kafka.impl; + +import ervu.client.kafka.KafkaClient; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.SendResult; +import org.springframework.stereotype.Component; +import org.springframework.util.concurrent.ListenableFuture; + +/** + * @author Alexandr Shalaginov + */ +@Component +public class KafkaClientImpl implements KafkaClient { + @Value("${kafka.send.topic:#{null}}") + private String kafkaTopic; + private static final Logger logger = LoggerFactory.getLogger(KafkaClientImpl.class); + private final KafkaTemplate kafkaTemplate; + + public KafkaClientImpl(KafkaTemplate kafkaTemplate) { + this.kafkaTemplate = kafkaTemplate; + } + + public void sendMessage(String message) { + if (this.kafkaTopic == null) { + throw new RuntimeException("Property kafka.send.topic is null"); + } + ProducerRecord record = new ProducerRecord<>("topic", message); + + ListenableFuture> future = this.kafkaTemplate.send(record); + future.addCallback( + (result) -> { + logger.debug("Success send message: {}", result); + }, + (throwable) -> { + logger.error("Fail send message.", throwable); + } + ); + } +} + From 35dbbccf3effead6ad389cd14568296bfd59d42a Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 14:13:10 +0300 Subject: [PATCH 09/94] SUPPORT-8381: some changes --- .../java/ervu/client/kafka/KafkaClient.java | 2 +- .../client/kafka/impl/KafkaClientImpl.java | 23 +++++++++---------- .../impl/ErvuFileUploadV2ServiceImpl.java | 20 ++++++++++++++-- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/backend/src/main/java/ervu/client/kafka/KafkaClient.java b/backend/src/main/java/ervu/client/kafka/KafkaClient.java index 16705b85..11d02142 100644 --- a/backend/src/main/java/ervu/client/kafka/KafkaClient.java +++ b/backend/src/main/java/ervu/client/kafka/KafkaClient.java @@ -4,5 +4,5 @@ package ervu.client.kafka; * @author Alexandr Shalaginov */ public interface KafkaClient { - void sendMessage(String message); + boolean sendMessage(String message); } diff --git a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java index 265193c1..54d6493d 100644 --- a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java +++ b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java @@ -24,21 +24,20 @@ public class KafkaClientImpl implements KafkaClient { this.kafkaTemplate = kafkaTemplate; } - public void sendMessage(String message) { + public boolean sendMessage(String message) { if (this.kafkaTopic == null) { throw new RuntimeException("Property kafka.send.topic is null"); } - ProducerRecord record = new ProducerRecord<>("topic", message); - - ListenableFuture> future = this.kafkaTemplate.send(record); - future.addCallback( - (result) -> { - logger.debug("Success send message: {}", result); - }, - (throwable) -> { - logger.error("Fail send message.", throwable); - } - ); + ProducerRecord record = new ProducerRecord<>(this.kafkaTopic, message); + try { + this.kafkaTemplate.send(record).get(); + logger.debug("Success send record: {}", record); + return true; + } + catch (Exception exception) { + logger.error("Fail send message.", exception); + return false; + } } } diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 18d1a1ba..d417a1a1 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -1,23 +1,39 @@ package ervu.service.fileupload.impl; import ervu.client.fileupload.ErvuFileUploadClient; +import ervu.client.kafka.KafkaClient; import ervu.service.fileupload.FileUploadV2Service; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; + /** * @author Alexandr Shalaginov */ @Service public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { + private final KafkaClient kafkaClient; + private final SecurityContext securityContext; private final ErvuFileUploadClient ervuFileUploadClient; - public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient) { + public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient, + KafkaClient kafkaClient, + SecurityContext securityContext) { this.ervuFileUploadClient = ervuFileUploadClient; + this.kafkaClient = kafkaClient; + this.securityContext = securityContext; } @Override public boolean saveFile(MultipartFile multipartFile) { - return this.ervuFileUploadClient.uploadFile(multipartFile); + if (this.ervuFileUploadClient.uploadFile(multipartFile)) { + String message = "{username='" + this.securityContext.getCurrentUsername() + + "',filename='" + multipartFile.getName() + "'}"; + return this.kafkaClient.sendMessage(message); + } + else { + return false; + } } } From 0bb98990e2c7bb46ad81ddaa7869d382ccd51670 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Mon, 15 Jul 2024 16:30:08 +0300 Subject: [PATCH 10/94] SUPPORT-8381: some changes (2) --- .../java/{ => ervu}/KafkaProducerConfig.java | 2 + .../fileupload/ErvuFileUploadClient.java | 4 +- .../impl/ErvuFileUploadClientImpl.java | 12 +++-- .../client/kafka/impl/KafkaClientImpl.java | 2 - .../impl/ErvuFileUploadV2ServiceImpl.java | 54 ++++++++++++++++--- 5 files changed, 58 insertions(+), 16 deletions(-) rename backend/src/main/java/{ => ervu}/KafkaProducerConfig.java (98%) diff --git a/backend/src/main/java/KafkaProducerConfig.java b/backend/src/main/java/ervu/KafkaProducerConfig.java similarity index 98% rename from backend/src/main/java/KafkaProducerConfig.java rename to backend/src/main/java/ervu/KafkaProducerConfig.java index 5db01f78..e0c26528 100644 --- a/backend/src/main/java/KafkaProducerConfig.java +++ b/backend/src/main/java/ervu/KafkaProducerConfig.java @@ -1,3 +1,5 @@ +package ervu; + import java.util.HashMap; import java.util.Map; diff --git a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java index 20f492e6..a55e30c5 100644 --- a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java @@ -1,10 +1,8 @@ package ervu.client.fileupload; -import org.springframework.web.multipart.MultipartFile; - /** * @author Alexandr Shalaginov */ public interface ErvuFileUploadClient { - boolean uploadFile(MultipartFile multipartFile); + boolean uploadFile(String filename, byte[] content); } diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java index 56ab9289..4dd222f8 100644 --- a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java +++ b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java @@ -4,6 +4,7 @@ import ervu.client.fileupload.ErvuFileUploadClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ByteArrayResource; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -13,7 +14,6 @@ import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; -import org.springframework.web.multipart.MultipartFile; /** * @author Alexandr Shalaginov @@ -30,7 +30,7 @@ public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { } @Override - public boolean uploadFile(MultipartFile multipartFile) { + public boolean uploadFile(String filename, byte[] content) { if (this.url == null) { throw new RuntimeException("Property file.upload.url is null"); } @@ -38,7 +38,13 @@ public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); MultiValueMap body = new LinkedMultiValueMap<>(); - body.add("file", multipartFile.getResource()); + ByteArrayResource resource = new ByteArrayResource(content) { + @Override + public String getFilename() { + return filename; + } + }; + body.add("file", resource); HttpEntity> requestEntity = new HttpEntity<>(body, headers); ResponseEntity response = this.restTemplate.postForEntity(url, requestEntity, Object.class); return response.getStatusCode().is2xxSuccessful(); diff --git a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java index 54d6493d..7fc8764e 100644 --- a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java +++ b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java @@ -6,9 +6,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.kafka.support.SendResult; import org.springframework.stereotype.Component; -import org.springframework.util.concurrent.ListenableFuture; /** * @author Alexandr Shalaginov diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index d417a1a1..8a1affd4 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -1,8 +1,12 @@ package ervu.service.fileupload.impl; +import java.io.IOException; +import java.util.UUID; + import ervu.client.fileupload.ErvuFileUploadClient; import ervu.client.kafka.KafkaClient; import ervu.service.fileupload.FileUploadV2Service; +import org.apache.commons.io.FilenameUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -18,8 +22,7 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { private final ErvuFileUploadClient ervuFileUploadClient; public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient, - KafkaClient kafkaClient, - SecurityContext securityContext) { + KafkaClient kafkaClient, SecurityContext securityContext) { this.ervuFileUploadClient = ervuFileUploadClient; this.kafkaClient = kafkaClient; this.securityContext = securityContext; @@ -27,13 +30,48 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { @Override public boolean saveFile(MultipartFile multipartFile) { - if (this.ervuFileUploadClient.uploadFile(multipartFile)) { - String message = "{username='" + this.securityContext.getCurrentUsername() - + "',filename='" + multipartFile.getName() + "'}"; - return this.kafkaClient.sendMessage(message); + try { + String newFilename = getNewFilename(multipartFile.getOriginalFilename()); + byte[] content = multipartFile.getBytes(); + + if (this.ervuFileUploadClient.uploadFile(newFilename, content)) { + return this.kafkaClient.sendMessage(new KafkaMessage( + securityContext.getCurrentUsername(), + newFilename, + multipartFile.getOriginalFilename() + ).toString()); + } + else { + return false; + } } - else { - return false; + catch (IOException e) { + throw new RuntimeException(e); } } + + private String getNewFilename(String oldFilename) { + return UUID.randomUUID() + "." + FilenameUtils.getExtension(oldFilename); + } +} + +class KafkaMessage { + private String username; + private String filename; + private String originalFilename; + + public KafkaMessage(String username, String filename, String originalFilename) { + this.username = username; + this.filename = filename; + this.originalFilename = originalFilename; + } + + @Override + public String toString() { + return "KafkaMessage{" + + "username='" + username + '\'' + + ", filename='" + filename + '\'' + + ", originalFilename='" + originalFilename + '\'' + + '}'; + } } From 1609895b1a26ca305782931c17a28be93322a4f8 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 09:20:28 +0300 Subject: [PATCH 11/94] SUPPORT-8381: fix by review (1) --- frontend/package.json | 2 +- .../src/resources/template/ervu/component/FileUploadV2.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 14acbad2..95cd08be 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -50,7 +50,7 @@ "jsgantt-improved": "2.0.10-cg", "moment": "2.17.1", "moment-timezone": "0.5.11", - "ng2-file-upload": "^1.3.0", + "ng2-file-upload": "1.3.0", "ngx-cookie": "3.0.1", "ngx-international-phone-number": "1.0.6", "ngx-toastr": "10.2.0-cg", diff --git a/frontend/src/resources/template/ervu/component/FileUploadV2.html b/frontend/src/resources/template/ervu/component/FileUploadV2.html index c1f4cd5c..5933bf62 100644 --- a/frontend/src/resources/template/ervu/component/FileUploadV2.html +++ b/frontend/src/resources/template/ervu/component/FileUploadV2.html @@ -15,7 +15,7 @@ [accept]="getExtensions()" hidden> -
+
{{item?.file?.name}} {{item?.file?.size/1024/1024 | number: '.2'}} MB From 3e9f52efa3885ba2e9dfe92e5467cdeb2f4fc80a Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 09:32:17 +0300 Subject: [PATCH 12/94] SUPPORT-8381: some changes (2) --- .../impl/ErvuFileUploadV2ServiceImpl.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 8a1affd4..6c71ffbe 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -3,6 +3,8 @@ package ervu.service.fileupload.impl; import java.io.IOException; import java.util.UUID; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import ervu.client.fileupload.ErvuFileUploadClient; import ervu.client.kafka.KafkaClient; import ervu.service.fileupload.FileUploadV2Service; @@ -35,11 +37,14 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { byte[] content = multipartFile.getBytes(); if (this.ervuFileUploadClient.uploadFile(newFilename, content)) { - return this.kafkaClient.sendMessage(new KafkaMessage( - securityContext.getCurrentUsername(), - newFilename, - multipartFile.getOriginalFilename() - ).toString()); + String jsonMessage = getJsonKafkaMessage( + new KafkaMessage( + securityContext.getCurrentUsername(), + newFilename, + multipartFile.getOriginalFilename() + ) + ); + return this.kafkaClient.sendMessage(jsonMessage); } else { return false; @@ -53,12 +58,22 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { private String getNewFilename(String oldFilename) { return UUID.randomUUID() + "." + FilenameUtils.getExtension(oldFilename); } + + private String getJsonKafkaMessage(KafkaMessage kafkaMessage) { + ObjectMapper mapper = new ObjectMapper(); + try { + return mapper.writeValueAsString(kafkaMessage); + } + catch (JsonProcessingException e) { + throw new RuntimeException(String.format("Fail get json from: %s", kafkaMessage), e); + } + } } class KafkaMessage { - private String username; - private String filename; - private String originalFilename; + private final String username; + private final String filename; + private final String originalFilename; public KafkaMessage(String username, String filename, String originalFilename) { this.username = username; @@ -74,4 +89,4 @@ class KafkaMessage { ", originalFilename='" + originalFilename + '\'' + '}'; } -} +} \ No newline at end of file From 43de1d84f6bf76875dee3d168d10db2c80f5b082 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 09:44:46 +0300 Subject: [PATCH 13/94] SUPPORT-8381: some changes (3) --- .../impl/ErvuFileUploadV2ServiceImpl.java | 21 ----------- .../service/fileupload/impl/KafkaMessage.java | 37 +++++++++++++++++++ 2 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 6c71ffbe..8b4d23ec 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -68,25 +68,4 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { throw new RuntimeException(String.format("Fail get json from: %s", kafkaMessage), e); } } -} - -class KafkaMessage { - private final String username; - private final String filename; - private final String originalFilename; - - public KafkaMessage(String username, String filename, String originalFilename) { - this.username = username; - this.filename = filename; - this.originalFilename = originalFilename; - } - - @Override - public String toString() { - return "KafkaMessage{" + - "username='" + username + '\'' + - ", filename='" + filename + '\'' + - ", originalFilename='" + originalFilename + '\'' + - '}'; - } } \ No newline at end of file diff --git a/backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java b/backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java new file mode 100644 index 00000000..30c6cec6 --- /dev/null +++ b/backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java @@ -0,0 +1,37 @@ +package ervu.service.fileupload.impl; + +/** + * @author Alexandr Shalaginov + */ +class KafkaMessage { + private final String username; + private final String filename; + private final String originalFilename; + + public KafkaMessage(String username, String filename, String originalFilename) { + this.username = username; + this.filename = filename; + this.originalFilename = originalFilename; + } + + public String getUsername() { + return username; + } + + public String getFilename() { + return filename; + } + + public String getOriginalFilename() { + return originalFilename; + } + + @Override + public String toString() { + return "KafkaMessage{" + + "username='" + username + '\'' + + ", filename='" + filename + '\'' + + ", originalFilename='" + originalFilename + '\'' + + '}'; + } +} From 0276c82a280b67d05c233b76b4e4f10dade01452 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 10:16:05 +0300 Subject: [PATCH 14/94] SUPPORT-8381: fix by review (2) --- .../resources/template/ervu/component/FileUploadV2.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/resources/template/ervu/component/FileUploadV2.html b/frontend/src/resources/template/ervu/component/FileUploadV2.html index 5933bf62..4756df29 100644 --- a/frontend/src/resources/template/ervu/component/FileUploadV2.html +++ b/frontend/src/resources/template/ervu/component/FileUploadV2.html @@ -4,7 +4,7 @@
+ *ngIf="(!maxFilesToUpload || uploader.queue.length < maxFilesToUpload) && isDropZoneVisible"> {{selectFileFieldText}}
{{item?.file?.name}} - {{item?.file?.size/1024/1024 | number: '.2'}} MB + {{item?.file?.size/1024/1024 | number: '.2'}} MB
-
+
\ No newline at end of file From 21a053a4ef0b9d37eb9da0d64023c3a74726f4f9 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 14:50:25 +0300 Subject: [PATCH 15/94] SUPPORT-8381: some changes (4) --- .../fileupload/ErvuFileUploadClient.java | 4 +- .../impl/ErvuFileUploadClientImpl.java | 55 ++++++++----------- .../impl/ErvuFileUploadV2ServiceImpl.java | 30 ++++------ 3 files changed, 38 insertions(+), 51 deletions(-) diff --git a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java index a55e30c5..844fbd38 100644 --- a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java @@ -1,8 +1,10 @@ package ervu.client.fileupload; +import org.springframework.web.multipart.MultipartFile; + /** * @author Alexandr Shalaginov */ public interface ErvuFileUploadClient { - boolean uploadFile(String filename, byte[] content); + boolean uploadFile(String filename, MultipartFile multipartFile); } diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java index 4dd222f8..a36e6d60 100644 --- a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java +++ b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java @@ -1,19 +1,17 @@ package ervu.client.fileupload.impl; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; + import ervu.client.fileupload.ErvuFileUploadClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.ByteArrayResource; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.client.RestClientException; -import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; /** * @author Alexandr Shalaginov @@ -22,36 +20,29 @@ import org.springframework.web.client.RestTemplate; public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { @Value("${file.upload.url:#{null}}") private String url; - private final RestTemplate restTemplate; - private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); - - public ErvuFileUploadClientImpl() { - this.restTemplate = new RestTemplate(); - } @Override - public boolean uploadFile(String filename, byte[] content) { + public boolean uploadFile(String filename, MultipartFile multipartFile) { if (this.url == null) { throw new RuntimeException("Property file.upload.url is null"); } try { - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.MULTIPART_FORM_DATA); - MultiValueMap body = new LinkedMultiValueMap<>(); - ByteArrayResource resource = new ByteArrayResource(content) { - @Override - public String getFilename() { - return filename; - } - }; - body.add("file", resource); - HttpEntity> requestEntity = new HttpEntity<>(body, headers); - ResponseEntity response = this.restTemplate.postForEntity(url, requestEntity, Object.class); - return response.getStatusCode().is2xxSuccessful(); + HttpURLConnection connection = (HttpURLConnection) new URL(this.url + "/" + filename).openConnection(); + connection.setDoInput(true); + connection.setDoOutput(true); + connection.setRequestMethod("PUT"); + + OutputStream outputStream = new BufferedOutputStream(connection.getOutputStream()); + + outputStream.write(multipartFile.getBytes()); + outputStream.flush(); + outputStream.close(); + int responseCode = connection.getResponseCode(); + connection.disconnect(); + return (responseCode >= 200) && (responseCode <= 202); } - catch (RestClientException e) { - logger.error("Upload file failed", e); - return false; + catch (IOException e) { + throw new RuntimeException(e); } } } diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 8b4d23ec..4b203764 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -32,26 +32,20 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { @Override public boolean saveFile(MultipartFile multipartFile) { - try { - String newFilename = getNewFilename(multipartFile.getOriginalFilename()); - byte[] content = multipartFile.getBytes(); + String newFilename = getNewFilename(multipartFile.getOriginalFilename()); - if (this.ervuFileUploadClient.uploadFile(newFilename, content)) { - String jsonMessage = getJsonKafkaMessage( - new KafkaMessage( - securityContext.getCurrentUsername(), - newFilename, - multipartFile.getOriginalFilename() - ) - ); - return this.kafkaClient.sendMessage(jsonMessage); - } - else { - return false; - } + if (this.ervuFileUploadClient.uploadFile(newFilename, multipartFile)) { + String jsonMessage = getJsonKafkaMessage( + new KafkaMessage( + securityContext.getCurrentUsername(), + newFilename, + multipartFile.getOriginalFilename() + ) + ); + return this.kafkaClient.sendMessage(jsonMessage); } - catch (IOException e) { - throw new RuntimeException(e); + else { + return false; } } From e19dbcc3325f898fdf738e8b56df9796bef9b033 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 15:03:45 +0300 Subject: [PATCH 16/94] SUPPORT-8381: some changes (5) --- .../client/fileupload/impl/ErvuFileUploadClientImpl.java | 4 +++- .../service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java index a36e6d60..621ff16a 100644 --- a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java +++ b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java @@ -20,6 +20,7 @@ import org.springframework.web.multipart.MultipartFile; public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { @Value("${file.upload.url:#{null}}") private String url; + private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); @Override public boolean uploadFile(String filename, MultipartFile multipartFile) { @@ -42,7 +43,8 @@ public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { return (responseCode >= 200) && (responseCode <= 202); } catch (IOException e) { - throw new RuntimeException(e); + logger.error("Fail upload file: " + filename, e); + return false; } } } diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 4b203764..26ed7c98 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -1,6 +1,5 @@ package ervu.service.fileupload.impl; -import java.io.IOException; import java.util.UUID; import com.fasterxml.jackson.core.JsonProcessingException; @@ -9,6 +8,8 @@ import ervu.client.fileupload.ErvuFileUploadClient; import ervu.client.kafka.KafkaClient; import ervu.service.fileupload.FileUploadV2Service; import org.apache.commons.io.FilenameUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -22,6 +23,7 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { private final KafkaClient kafkaClient; private final SecurityContext securityContext; private final ErvuFileUploadClient ervuFileUploadClient; + private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadV2ServiceImpl.class); public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient, KafkaClient kafkaClient, SecurityContext securityContext) { @@ -45,6 +47,7 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { return this.kafkaClient.sendMessage(jsonMessage); } else { + logger.error("Fail upload file: {}", multipartFile.getOriginalFilename()); return false; } } From 7c15d10d541e8a75f4d79cfc980758c950982134 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 15:10:04 +0300 Subject: [PATCH 17/94] SUPPORT-8381: create studio component --- .../src/main/resources/FileUploadV2.component | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 resources/src/main/resources/FileUploadV2.component diff --git a/resources/src/main/resources/FileUploadV2.component b/resources/src/main/resources/FileUploadV2.component new file mode 100644 index 00000000..11a4763d --- /dev/null +++ b/resources/src/main/resources/FileUploadV2.component @@ -0,0 +1,64 @@ + + + f6d7a9d9-acfe-4414-a835-e9625fa06fb3 + FileUploadV2 + false + + 3.175.0-SNAPSHOT + + + ru.cg.webbpm.packages.base.resources + 3.174.1 + + + + + FileUploadV2 + false + false + + + FileUploadV2 + ervu.component.fileupload + + true + true + + + displayFileSize + + true + + + + displayProgressBar + + true + + + + visible + + true + + + + + + + FileUploadV2Controller + ervu.controller + + true + true + + + fileUploadV2Service + + + + + + + + From b6717f44b75c1b80ad79fa55eb5b9ec2c41548e6 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 15:26:16 +0300 Subject: [PATCH 18/94] SUPPORT-8381: fix by review (1) --- .../ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java | 3 ++- .../src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java | 3 ++- .../service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java index 621ff16a..d41cfe19 100644 --- a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java +++ b/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java @@ -18,9 +18,10 @@ import org.springframework.web.multipart.MultipartFile; */ @Component public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { + private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); + @Value("${file.upload.url:#{null}}") private String url; - private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); @Override public boolean uploadFile(String filename, MultipartFile multipartFile) { diff --git a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java index 7fc8764e..b366f7ef 100644 --- a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java +++ b/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java @@ -13,9 +13,10 @@ import org.springframework.stereotype.Component; */ @Component public class KafkaClientImpl implements KafkaClient { + private static final Logger logger = LoggerFactory.getLogger(KafkaClientImpl.class); + @Value("${kafka.send.topic:#{null}}") private String kafkaTopic; - private static final Logger logger = LoggerFactory.getLogger(KafkaClientImpl.class); private final KafkaTemplate kafkaTemplate; public KafkaClientImpl(KafkaTemplate kafkaTemplate) { diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 26ed7c98..f9512532 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -20,10 +20,10 @@ import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; */ @Service public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { + private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadV2ServiceImpl.class); private final KafkaClient kafkaClient; private final SecurityContext securityContext; private final ErvuFileUploadClient ervuFileUploadClient; - private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadV2ServiceImpl.class); public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient, KafkaClient kafkaClient, SecurityContext securityContext) { From de14cbcea68e1a7889f0094c0c71283a516ec512 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 10:04:54 +0300 Subject: [PATCH 19/94] SUPPORT-8381: fix by review (2) --- ...yeeInformationFileWebDavUploadClient.java} | 15 +++----- .../fileupload/ErvuFileUploadClient.java | 10 ------ .../java/ervu/client/kafka/KafkaClient.java | 8 ----- ...tImpl.java => KafkaSendMessageClient.java} | 18 ++++------ ...ployeeInformationFileUploadController.java | 31 ++++++++++++++++ .../controller/FileUploadV2Controller.java | 35 ------------------- ...EmployeeInformationFileUploadService.java} | 26 +++++++------- .../fileupload/FileUploadV2Service.java | 10 ------ .../fileupload/{impl => }/KafkaMessage.java | 2 +- .../ervu/component/fileupload/FileUploadV2.ts | 2 +- .../src/main/resources/FileUploadV2.component | 16 --------- 11 files changed, 57 insertions(+), 116 deletions(-) rename backend/src/main/java/ervu/client/fileupload/{impl/ErvuFileUploadClientImpl.java => EmployeeInformationFileWebDavUploadClient.java} (74%) delete mode 100644 backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java delete mode 100644 backend/src/main/java/ervu/client/kafka/KafkaClient.java rename backend/src/main/java/ervu/client/kafka/{impl/KafkaClientImpl.java => KafkaSendMessageClient.java} (66%) create mode 100644 backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java delete mode 100644 backend/src/main/java/ervu/controller/FileUploadV2Controller.java rename backend/src/main/java/ervu/service/fileupload/{impl/ErvuFileUploadV2ServiceImpl.java => EmployeeInformationFileUploadService.java} (66%) delete mode 100644 backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java rename backend/src/main/java/ervu/service/fileupload/{impl => }/KafkaMessage.java (95%) diff --git a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java similarity index 74% rename from backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java rename to backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java index d41cfe19..1fc55bfd 100644 --- a/backend/src/main/java/ervu/client/fileupload/impl/ErvuFileUploadClientImpl.java +++ b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java @@ -1,4 +1,4 @@ -package ervu.client.fileupload.impl; +package ervu.client.fileupload; import java.io.BufferedOutputStream; import java.io.IOException; @@ -6,7 +6,6 @@ import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; -import ervu.client.fileupload.ErvuFileUploadClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -17,17 +16,13 @@ import org.springframework.web.multipart.MultipartFile; * @author Alexandr Shalaginov */ @Component -public class ErvuFileUploadClientImpl implements ErvuFileUploadClient { - private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadClientImpl.class); +public class EmployeeInformationFileWebDavUploadClient { + private static final Logger logger = LoggerFactory.getLogger(EmployeeInformationFileWebDavUploadClient.class); - @Value("${file.upload.url:#{null}}") + @Value("${file.webdav.upload.url:localhost:5757}") private String url; - @Override - public boolean uploadFile(String filename, MultipartFile multipartFile) { - if (this.url == null) { - throw new RuntimeException("Property file.upload.url is null"); - } + public boolean webDavUploadFile(String filename, MultipartFile multipartFile) { try { HttpURLConnection connection = (HttpURLConnection) new URL(this.url + "/" + filename).openConnection(); connection.setDoInput(true); diff --git a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java b/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java deleted file mode 100644 index 844fbd38..00000000 --- a/backend/src/main/java/ervu/client/fileupload/ErvuFileUploadClient.java +++ /dev/null @@ -1,10 +0,0 @@ -package ervu.client.fileupload; - -import org.springframework.web.multipart.MultipartFile; - -/** - * @author Alexandr Shalaginov - */ -public interface ErvuFileUploadClient { - boolean uploadFile(String filename, MultipartFile multipartFile); -} diff --git a/backend/src/main/java/ervu/client/kafka/KafkaClient.java b/backend/src/main/java/ervu/client/kafka/KafkaClient.java deleted file mode 100644 index 11d02142..00000000 --- a/backend/src/main/java/ervu/client/kafka/KafkaClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package ervu.client.kafka; - -/** - * @author Alexandr Shalaginov - */ -public interface KafkaClient { - boolean sendMessage(String message); -} diff --git a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java b/backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java similarity index 66% rename from backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java rename to backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java index b366f7ef..15433b4d 100644 --- a/backend/src/main/java/ervu/client/kafka/impl/KafkaClientImpl.java +++ b/backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java @@ -1,6 +1,5 @@ -package ervu.client.kafka.impl; +package ervu.client.kafka; -import ervu.client.kafka.KafkaClient; import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,22 +11,19 @@ import org.springframework.stereotype.Component; * @author Alexandr Shalaginov */ @Component -public class KafkaClientImpl implements KafkaClient { - private static final Logger logger = LoggerFactory.getLogger(KafkaClientImpl.class); +public class KafkaSendMessageClient { + private static final Logger logger = LoggerFactory.getLogger(KafkaSendMessageClient.class); - @Value("${kafka.send.topic:#{null}}") - private String kafkaTopic; + @Value("${kafka.send.message.topic.name:messages-topic}") + private String kafkaTopicName; private final KafkaTemplate kafkaTemplate; - public KafkaClientImpl(KafkaTemplate kafkaTemplate) { + public KafkaSendMessageClient(KafkaTemplate kafkaTemplate) { this.kafkaTemplate = kafkaTemplate; } public boolean sendMessage(String message) { - if (this.kafkaTopic == null) { - throw new RuntimeException("Property kafka.send.topic is null"); - } - ProducerRecord record = new ProducerRecord<>(this.kafkaTopic, message); + ProducerRecord record = new ProducerRecord<>(this.kafkaTopicName, message); try { this.kafkaTemplate.send(record).get(); logger.debug("Success send record: {}", record); diff --git a/backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java b/backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java new file mode 100644 index 00000000..14528068 --- /dev/null +++ b/backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java @@ -0,0 +1,31 @@ +package ervu.controller; + +import ervu.service.fileupload.EmployeeInformationFileUploadService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author Alexandr Shalaginov + */ +@RestController +public class EmployeeInformationFileUploadController { + private final EmployeeInformationFileUploadService fileUploadService; + + public EmployeeInformationFileUploadController(EmployeeInformationFileUploadService fileUploadService) { + this.fileUploadService = fileUploadService; + } + + @RequestMapping(value = "/file/upload/employee-information", method = RequestMethod.POST) + public ResponseEntity saveEmployeeInformationFile(@RequestParam("file") MultipartFile multipartFile) { + if (this.fileUploadService.saveEmployeeInformationFile(multipartFile)) { + return ResponseEntity.ok("File successfully uploaded."); + } + else { + return ResponseEntity.internalServerError().body("An error occurred while uploading file."); + } + } +} diff --git a/backend/src/main/java/ervu/controller/FileUploadV2Controller.java b/backend/src/main/java/ervu/controller/FileUploadV2Controller.java deleted file mode 100644 index d9a80dfa..00000000 --- a/backend/src/main/java/ervu/controller/FileUploadV2Controller.java +++ /dev/null @@ -1,35 +0,0 @@ -package ervu.controller; - -import ervu.service.fileupload.FileUploadV2Service; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -import ru.cg.webbpm.modules.standard_annotations.validation.NotNull; -import ru.cg.webbpm.modules.webkit.beans.Behavior; - -/** - * @author Alexandr Shalaginov - */ -@RestController -public class FileUploadV2Controller extends Behavior { - @NotNull - public final FileUploadV2Service fileUploadV2Service; - - public FileUploadV2Controller(FileUploadV2Service fileUploadV2Service) { - this.fileUploadV2Service = fileUploadV2Service; - } - - @RequestMapping(value = "/file/upload", method = RequestMethod.POST) - public ResponseEntity saveFile(@RequestParam("file") MultipartFile multipartFile) { - if (this.fileUploadV2Service.saveFile(multipartFile)) { - return ResponseEntity.ok("File successfully uploaded."); - } - else { - return ResponseEntity.internalServerError().body("An error occurred while uploading file."); - } - } -} diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java similarity index 66% rename from backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java rename to backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java index f9512532..c6cbc408 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java @@ -1,12 +1,11 @@ -package ervu.service.fileupload.impl; +package ervu.service.fileupload; import java.util.UUID; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import ervu.client.fileupload.ErvuFileUploadClient; -import ervu.client.kafka.KafkaClient; -import ervu.service.fileupload.FileUploadV2Service; +import ervu.client.fileupload.EmployeeInformationFileWebDavUploadClient; +import ervu.client.kafka.KafkaSendMessageClient; import org.apache.commons.io.FilenameUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,24 +18,23 @@ import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; * @author Alexandr Shalaginov */ @Service -public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { - private static final Logger logger = LoggerFactory.getLogger(ErvuFileUploadV2ServiceImpl.class); - private final KafkaClient kafkaClient; +public class EmployeeInformationFileUploadService { + private static final Logger logger = LoggerFactory.getLogger(EmployeeInformationFileUploadService.class); + private final KafkaSendMessageClient kafkaClient; private final SecurityContext securityContext; - private final ErvuFileUploadClient ervuFileUploadClient; + private final EmployeeInformationFileWebDavUploadClient fileWebDavUploadClient; - public ErvuFileUploadV2ServiceImpl(ErvuFileUploadClient ervuFileUploadClient, - KafkaClient kafkaClient, SecurityContext securityContext) { - this.ervuFileUploadClient = ervuFileUploadClient; + public EmployeeInformationFileUploadService(EmployeeInformationFileWebDavUploadClient fileWebDavUploadClient, + KafkaSendMessageClient kafkaClient, SecurityContext securityContext) { + this.fileWebDavUploadClient = fileWebDavUploadClient; this.kafkaClient = kafkaClient; this.securityContext = securityContext; } - @Override - public boolean saveFile(MultipartFile multipartFile) { + public boolean saveEmployeeInformationFile(MultipartFile multipartFile) { String newFilename = getNewFilename(multipartFile.getOriginalFilename()); - if (this.ervuFileUploadClient.uploadFile(newFilename, multipartFile)) { + if (this.fileWebDavUploadClient.webDavUploadFile(newFilename, multipartFile)) { String jsonMessage = getJsonKafkaMessage( new KafkaMessage( securityContext.getCurrentUsername(), diff --git a/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java b/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java deleted file mode 100644 index 274a64bd..00000000 --- a/backend/src/main/java/ervu/service/fileupload/FileUploadV2Service.java +++ /dev/null @@ -1,10 +0,0 @@ -package ervu.service.fileupload; - -import org.springframework.web.multipart.MultipartFile; - -/** - * @author Alexandr Shalaginov - */ -public interface FileUploadV2Service { - boolean saveFile(MultipartFile multipartFile); -} diff --git a/backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java b/backend/src/main/java/ervu/service/fileupload/KafkaMessage.java similarity index 95% rename from backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java rename to backend/src/main/java/ervu/service/fileupload/KafkaMessage.java index 30c6cec6..af65b12f 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/KafkaMessage.java +++ b/backend/src/main/java/ervu/service/fileupload/KafkaMessage.java @@ -1,4 +1,4 @@ -package ervu.service.fileupload.impl; +package ervu.service.fileupload; /** * @author Alexandr Shalaginov diff --git a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts index e57153f6..37c3fa23 100644 --- a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts +++ b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts @@ -49,7 +49,7 @@ export class FileUploadV2 extends InputControl { protected isProgressBarVisible: boolean = false; private fileInputEl: any; - private url: string = '/backend/file/upload'; + private url: string = '/backend/file/upload/employee-information'; private messagesService: MessagesService; constructor(el: ElementRef, cd: ChangeDetectorRef) { diff --git a/resources/src/main/resources/FileUploadV2.component b/resources/src/main/resources/FileUploadV2.component index 11a4763d..8ab4395e 100644 --- a/resources/src/main/resources/FileUploadV2.component +++ b/resources/src/main/resources/FileUploadV2.component @@ -44,21 +44,5 @@ - - - FileUploadV2Controller - ervu.controller - - true - true - - - fileUploadV2Service - - - - - - From f4c32b085ae9fb1f57fb185c9010c01ffd352805 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 10:42:35 +0300 Subject: [PATCH 20/94] SUPPORT-8381: fix by review (3) --- ...oyeeInformationFileWebDavUploadClient.java | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java index 1fc55bfd..df9cf002 100644 --- a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java @@ -1,10 +1,10 @@ package ervu.client.fileupload; -import java.io.BufferedOutputStream; import java.io.IOException; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.net.URL; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,23 +24,14 @@ public class EmployeeInformationFileWebDavUploadClient { public boolean webDavUploadFile(String filename, MultipartFile multipartFile) { try { - HttpURLConnection connection = (HttpURLConnection) new URL(this.url + "/" + filename).openConnection(); - connection.setDoInput(true); - connection.setDoOutput(true); - connection.setRequestMethod("PUT"); - - OutputStream outputStream = new BufferedOutputStream(connection.getOutputStream()); - - outputStream.write(multipartFile.getBytes()); - outputStream.flush(); - outputStream.close(); - int responseCode = connection.getResponseCode(); - connection.disconnect(); - return (responseCode >= 200) && (responseCode <= 202); + HttpClient httpClient = HttpClient.newBuilder().build(); + HttpRequest httpRequest = HttpRequest.newBuilder().uri(URI.create(this.url + "/" + filename)) + .PUT(HttpRequest.BodyPublishers.ofByteArray(multipartFile.getBytes())).build(); + HttpResponse response = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + return (response.statusCode() >= 200) && (response.statusCode() <= 202); } - catch (IOException e) { - logger.error("Fail upload file: " + filename, e); - return false; + catch (IOException | InterruptedException e) { + throw new RuntimeException(e); } } } From e3ae0b21ea12f0f002a52af56e74c4deb9bf8ad8 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 10:46:45 +0300 Subject: [PATCH 21/94] SUPPORT-8381: small fix --- .../fileupload/EmployeeInformationFileWebDavUploadClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java index df9cf002..b14fb9b9 100644 --- a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java @@ -19,7 +19,7 @@ import org.springframework.web.multipart.MultipartFile; public class EmployeeInformationFileWebDavUploadClient { private static final Logger logger = LoggerFactory.getLogger(EmployeeInformationFileWebDavUploadClient.class); - @Value("${file.webdav.upload.url:localhost:5757}") + @Value("${file.webdav.upload.url:http://localhost:5757}") private String url; public boolean webDavUploadFile(String filename, MultipartFile multipartFile) { From d87675f151f9664e9dd34f2eda1dc5d15a1ebe28 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 10:53:21 +0300 Subject: [PATCH 22/94] SUPPORT-8381: fix by review (4) --- ...t.java => EmployeeInfoFileWebDavUploadClient.java} | 4 ++-- ...ler.java => EmployeeInfoFileUploadController.java} | 8 ++++---- ...ervice.java => EmployeeInfoFileUploadService.java} | 11 ++++++----- 3 files changed, 12 insertions(+), 11 deletions(-) rename backend/src/main/java/ervu/client/fileupload/{EmployeeInformationFileWebDavUploadClient.java => EmployeeInfoFileWebDavUploadClient.java} (92%) rename backend/src/main/java/ervu/controller/{EmployeeInformationFileUploadController.java => EmployeeInfoFileUploadController.java} (75%) rename backend/src/main/java/ervu/service/fileupload/{EmployeeInformationFileUploadService.java => EmployeeInfoFileUploadService.java} (84%) diff --git a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java b/backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java similarity index 92% rename from backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java rename to backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java index b14fb9b9..ce7bebdf 100644 --- a/backend/src/main/java/ervu/client/fileupload/EmployeeInformationFileWebDavUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java @@ -16,8 +16,8 @@ import org.springframework.web.multipart.MultipartFile; * @author Alexandr Shalaginov */ @Component -public class EmployeeInformationFileWebDavUploadClient { - private static final Logger logger = LoggerFactory.getLogger(EmployeeInformationFileWebDavUploadClient.class); +public class EmployeeInfoFileWebDavUploadClient { + private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileWebDavUploadClient.class); @Value("${file.webdav.upload.url:http://localhost:5757}") private String url; diff --git a/backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java similarity index 75% rename from backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java rename to backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java index 14528068..01ac33ca 100644 --- a/backend/src/main/java/ervu/controller/EmployeeInformationFileUploadController.java +++ b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java @@ -1,6 +1,6 @@ package ervu.controller; -import ervu.service.fileupload.EmployeeInformationFileUploadService; +import ervu.service.fileupload.EmployeeInfoFileUploadService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -12,10 +12,10 @@ import org.springframework.web.multipart.MultipartFile; * @author Alexandr Shalaginov */ @RestController -public class EmployeeInformationFileUploadController { - private final EmployeeInformationFileUploadService fileUploadService; +public class EmployeeInfoFileUploadController { + private final EmployeeInfoFileUploadService fileUploadService; - public EmployeeInformationFileUploadController(EmployeeInformationFileUploadService fileUploadService) { + public EmployeeInfoFileUploadController(EmployeeInfoFileUploadService fileUploadService) { this.fileUploadService = fileUploadService; } diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java similarity index 84% rename from backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java rename to backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index c6cbc408..18615772 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInformationFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -4,7 +4,7 @@ import java.util.UUID; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import ervu.client.fileupload.EmployeeInformationFileWebDavUploadClient; +import ervu.client.fileupload.EmployeeInfoFileWebDavUploadClient; import ervu.client.kafka.KafkaSendMessageClient; import org.apache.commons.io.FilenameUtils; import org.slf4j.Logger; @@ -18,13 +18,14 @@ import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; * @author Alexandr Shalaginov */ @Service -public class EmployeeInformationFileUploadService { - private static final Logger logger = LoggerFactory.getLogger(EmployeeInformationFileUploadService.class); +public class EmployeeInfoFileUploadService { + private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class); private final KafkaSendMessageClient kafkaClient; private final SecurityContext securityContext; - private final EmployeeInformationFileWebDavUploadClient fileWebDavUploadClient; + private final EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient; - public EmployeeInformationFileUploadService(EmployeeInformationFileWebDavUploadClient fileWebDavUploadClient, + public EmployeeInfoFileUploadService( + EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient, KafkaSendMessageClient kafkaClient, SecurityContext securityContext) { this.fileWebDavUploadClient = fileWebDavUploadClient; this.kafkaClient = kafkaClient; From 5019238ed38a31e8318635261014f132b2c47575 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 11:13:52 +0300 Subject: [PATCH 23/94] SUPPORT-8381: fix by review (5) --- .../client/kafka/KafkaSendMessageClient.java | 38 ----------------- .../EmployeeInfoFileUploadService.java | 41 +++++++++++++++---- 2 files changed, 34 insertions(+), 45 deletions(-) delete mode 100644 backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java diff --git a/backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java b/backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java deleted file mode 100644 index 15433b4d..00000000 --- a/backend/src/main/java/ervu/client/kafka/KafkaSendMessageClient.java +++ /dev/null @@ -1,38 +0,0 @@ -package ervu.client.kafka; - -import org.apache.kafka.clients.producer.ProducerRecord; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.stereotype.Component; - -/** - * @author Alexandr Shalaginov - */ -@Component -public class KafkaSendMessageClient { - private static final Logger logger = LoggerFactory.getLogger(KafkaSendMessageClient.class); - - @Value("${kafka.send.message.topic.name:messages-topic}") - private String kafkaTopicName; - private final KafkaTemplate kafkaTemplate; - - public KafkaSendMessageClient(KafkaTemplate kafkaTemplate) { - this.kafkaTemplate = kafkaTemplate; - } - - public boolean sendMessage(String message) { - ProducerRecord record = new ProducerRecord<>(this.kafkaTopicName, message); - try { - this.kafkaTemplate.send(record).get(); - logger.debug("Success send record: {}", record); - return true; - } - catch (Exception exception) { - logger.error("Fail send message.", exception); - return false; - } - } -} - diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index 18615772..5b284afd 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -5,10 +5,11 @@ import java.util.UUID; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import ervu.client.fileupload.EmployeeInfoFileWebDavUploadClient; -import ervu.client.kafka.KafkaSendMessageClient; -import org.apache.commons.io.FilenameUtils; +import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.kafka.core.KafkaTemplate; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -20,16 +21,21 @@ import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; @Service public class EmployeeInfoFileUploadService { private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class); - private final KafkaSendMessageClient kafkaClient; + private final SecurityContext securityContext; private final EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient; + private final KafkaTemplate kafkaTemplate; + + @Value("${kafka.send.message.topic.name:employee-files}") + private String kafkaTopicName; public EmployeeInfoFileUploadService( EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient, - KafkaSendMessageClient kafkaClient, SecurityContext securityContext) { + SecurityContext securityContext, + KafkaTemplate kafkaTemplate) { this.fileWebDavUploadClient = fileWebDavUploadClient; - this.kafkaClient = kafkaClient; this.securityContext = securityContext; + this.kafkaTemplate = kafkaTemplate; } public boolean saveEmployeeInformationFile(MultipartFile multipartFile) { @@ -43,7 +49,7 @@ public class EmployeeInfoFileUploadService { multipartFile.getOriginalFilename() ) ); - return this.kafkaClient.sendMessage(jsonMessage); + return sendMessage(jsonMessage); } else { logger.error("Fail upload file: {}", multipartFile.getOriginalFilename()); @@ -51,8 +57,29 @@ public class EmployeeInfoFileUploadService { } } + private boolean sendMessage(String message) { + ProducerRecord record = new ProducerRecord<>(this.kafkaTopicName, message); + try { + this.kafkaTemplate.send(record).get(); + logger.debug("Success send record: {}", record); + return true; + } + catch (Exception exception) { + logger.error("Fail send message.", exception); + return false; + } + } + private String getNewFilename(String oldFilename) { - return UUID.randomUUID() + "." + FilenameUtils.getExtension(oldFilename); + return UUID.randomUUID() + getFileExtension(oldFilename); + } + + private String getFileExtension(String filename) { + int lastIndexOf = filename.lastIndexOf("."); + if (lastIndexOf == -1) { + return ""; + } + return filename.substring(lastIndexOf); } private String getJsonKafkaMessage(KafkaMessage kafkaMessage) { From 255fffc5238ff39d9431af28d63a215e2c7709b8 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 12:23:36 +0300 Subject: [PATCH 24/94] SUPPORT-8381: fix by review (6) --- ...ebDavUploadClient.java => EmployeeInfoWebDavClient.java} | 4 ++-- .../ervu/controller/EmployeeInfoFileUploadController.java | 2 +- .../service/fileupload/EmployeeInfoFileUploadService.java | 6 +++--- frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) rename backend/src/main/java/ervu/client/fileupload/{EmployeeInfoFileWebDavUploadClient.java => EmployeeInfoWebDavClient.java} (93%) diff --git a/backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java b/backend/src/main/java/ervu/client/fileupload/EmployeeInfoWebDavClient.java similarity index 93% rename from backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java rename to backend/src/main/java/ervu/client/fileupload/EmployeeInfoWebDavClient.java index ce7bebdf..7614b710 100644 --- a/backend/src/main/java/ervu/client/fileupload/EmployeeInfoFileWebDavUploadClient.java +++ b/backend/src/main/java/ervu/client/fileupload/EmployeeInfoWebDavClient.java @@ -16,8 +16,8 @@ import org.springframework.web.multipart.MultipartFile; * @author Alexandr Shalaginov */ @Component -public class EmployeeInfoFileWebDavUploadClient { - private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileWebDavUploadClient.class); +public class EmployeeInfoWebDavClient { + private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoWebDavClient.class); @Value("${file.webdav.upload.url:http://localhost:5757}") private String url; diff --git a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java index 01ac33ca..bd5befb5 100644 --- a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java +++ b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java @@ -19,7 +19,7 @@ public class EmployeeInfoFileUploadController { this.fileUploadService = fileUploadService; } - @RequestMapping(value = "/file/upload/employee-information", method = RequestMethod.POST) + @RequestMapping(value = "/employee/document", method = RequestMethod.POST) public ResponseEntity saveEmployeeInformationFile(@RequestParam("file") MultipartFile multipartFile) { if (this.fileUploadService.saveEmployeeInformationFile(multipartFile)) { return ResponseEntity.ok("File successfully uploaded."); diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index 5b284afd..09345845 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -4,7 +4,7 @@ import java.util.UUID; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import ervu.client.fileupload.EmployeeInfoFileWebDavUploadClient; +import ervu.client.fileupload.EmployeeInfoWebDavClient; import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,14 +23,14 @@ public class EmployeeInfoFileUploadService { private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class); private final SecurityContext securityContext; - private final EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient; + private final EmployeeInfoWebDavClient fileWebDavUploadClient; private final KafkaTemplate kafkaTemplate; @Value("${kafka.send.message.topic.name:employee-files}") private String kafkaTopicName; public EmployeeInfoFileUploadService( - EmployeeInfoFileWebDavUploadClient fileWebDavUploadClient, + EmployeeInfoWebDavClient fileWebDavUploadClient, SecurityContext securityContext, KafkaTemplate kafkaTemplate) { this.fileWebDavUploadClient = fileWebDavUploadClient; diff --git a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts index 37c3fa23..bc4418ef 100644 --- a/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts +++ b/frontend/src/ts/ervu/component/fileupload/FileUploadV2.ts @@ -49,7 +49,7 @@ export class FileUploadV2 extends InputControl { protected isProgressBarVisible: boolean = false; private fileInputEl: any; - private url: string = '/backend/file/upload/employee-information'; + private url: string = '/backend/employee/document'; private messagesService: MessagesService; constructor(el: ElementRef, cd: ChangeDetectorRef) { From 5da0d532814cd32a586ddd046fa98c58be2d3f83 Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Wed, 17 Jul 2024 12:38:39 +0300 Subject: [PATCH 25/94] SUPPORT-8381: fix by review (7) --- .../fileupload/EmployeeInfoFileUploadService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index 09345845..2f3bbb5d 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -10,6 +10,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -22,7 +24,6 @@ import ru.cg.webbpm.modules.security.api.runtime.SecurityContext; public class EmployeeInfoFileUploadService { private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class); - private final SecurityContext securityContext; private final EmployeeInfoWebDavClient fileWebDavUploadClient; private final KafkaTemplate kafkaTemplate; @@ -31,10 +32,8 @@ public class EmployeeInfoFileUploadService { public EmployeeInfoFileUploadService( EmployeeInfoWebDavClient fileWebDavUploadClient, - SecurityContext securityContext, KafkaTemplate kafkaTemplate) { this.fileWebDavUploadClient = fileWebDavUploadClient; - this.securityContext = securityContext; this.kafkaTemplate = kafkaTemplate; } @@ -44,7 +43,7 @@ public class EmployeeInfoFileUploadService { if (this.fileWebDavUploadClient.webDavUploadFile(newFilename, multipartFile)) { String jsonMessage = getJsonKafkaMessage( new KafkaMessage( - securityContext.getCurrentUsername(), + getCurrentUsername(), newFilename, multipartFile.getOriginalFilename() ) @@ -91,4 +90,12 @@ public class EmployeeInfoFileUploadService { throw new RuntimeException(String.format("Fail get json from: %s", kafkaMessage), e); } } + + private String getCurrentUsername() { + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + if (auth != null && auth.isAuthenticated()) { + return auth.getName(); + } + return null; + } } \ No newline at end of file From 7e8ce7ec9c059e34869973af7a463620bb2931ba Mon Sep 17 00:00:00 2001 From: Zaripov Emil Date: Wed, 17 Jul 2024 13:13:52 +0300 Subject: [PATCH 26/94] =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D1=82=D0=B5=D1=80=20=D0=B4=D0=B0=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/business-model/Журнал взаимодействия.page | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/src/main/resources/business-model/Журнал взаимодействия.page b/resources/src/main/resources/business-model/Журнал взаимодействия.page index de01f70b..f5dd6c15 100644 --- a/resources/src/main/resources/business-model/Журнал взаимодействия.page +++ b/resources/src/main/resources/business-model/Журнал взаимодействия.page @@ -366,6 +366,15 @@ true + + formatter + + + DateTimeFormatter + custom.grid.formatter + + + sortable From 385792a1349a31a402fb3ff9e42bc3cae3503822 Mon Sep 17 00:00:00 2001 From: "m.epshtein" Date: Thu, 18 Jul 2024 10:14:38 +0300 Subject: [PATCH 27/94] ERVU-65 --- frontend/src/resources/css/components-lkrp.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/src/resources/css/components-lkrp.css b/frontend/src/resources/css/components-lkrp.css index 99516ed1..1a3d3b07 100644 --- a/frontend/src/resources/css/components-lkrp.css +++ b/frontend/src/resources/css/components-lkrp.css @@ -28,6 +28,10 @@ .webbpm.ervu_lkrp_ul .mute { color: var(--border-light); font-size: var(--size-text-secondary); + + grid-v2& .ag-row .ag-cell { + color: var(--color-text-secondary); + } } .webbpm.ervu_lkrp_ul .file-name { From d837d7903fd99d8e8cbd9203451fcff3ca91a0b6 Mon Sep 17 00:00:00 2001 From: "ivanov.denis" Date: Thu, 18 Jul 2024 14:56:18 +0300 Subject: [PATCH 28/94] version 3.175.1 --- frontend/package.json | 2 +- .../.flattened-pom.xml | 14 +++++++------- .../grids/NavigateOnGridCellOrRow.html | 2 +- .../META-INF/package-descriptor.xml | 8 ++++---- .../component/buttons/Button.component | 4 ++-- .../component/buttons/CancelButton.component | 4 ++-- .../buttons/ClearFilterButton.component | 4 ++-- .../component/buttons/DeleteButton.component | 4 ++-- .../buttons/DownloadButton.component | 4 ++-- .../component/buttons/ErrorButton.component | 4 ++-- .../buttons/ExecProcessButton.component | 4 ++-- .../buttons/ExecuteSqlButton.component | 4 ++-- .../component/buttons/FilterButton.component | 4 ++-- .../buttons/NavigationButton.component | 4 ++-- .../component/buttons/SaveButton.component | 4 ++-- .../component/buttons/SelectButton.component | 4 ++-- .../component/buttons/SignButton.component | 4 ++-- .../buttons/StartProcessButton.component | 4 ++-- .../EntityGraphReportingButton.component | 4 ++-- .../reporting/FormReportingButton.component | 4 ++-- .../containers/CollapsiblePanel.component | 4 ++-- .../component/containers/Dialog.component | 4 ++-- .../component/containers/DropDown.component | 4 ++-- .../component/containers/FieldSet.component | 4 ++-- .../containers/FilterGroup.component | 4 ++-- .../component/containers/Form.component | 4 ++-- .../component/containers/HBox.component | 4 ++-- .../containers/TabContainer.component | 4 ++-- .../component/containers/TabItem.component | 4 ++-- .../component/containers/VBox.component | 4 ++-- .../component/containers/Window.component | 4 ++-- .../editable-grids/EditableGrid.component | 4 ++-- .../columns/AutocompleteGridColumn.component | 4 ++-- .../columns/CheckBoxGridColumn.component | 4 ++-- .../columns/ComboBoxGridColumn.component | 4 ++-- .../DateTimePickerGridColumn.component | 4 ++-- .../columns/MoneyFieldGridColumn.component | 4 ++-- .../columns/NumberFieldGridColumn.component | 4 ++-- .../columns/OneToManyGridColumn.component | 4 ++-- .../columns/OneToManyGridColumnV2.component | 4 ++-- .../ReadonlyClientGridColumn.component | 4 ++-- .../ReadonlyServerGridColumn.component | 4 ++-- .../StaticComboBoxGridColumn.component | 4 ++-- .../columns/TextAreaGridColumn.component | 4 ++-- .../columns/TextFieldGridColumn.component | 4 ++-- .../columns/TimePickerGridColumn.component | 4 ++-- .../component/fields/Address.component | 4 ++-- .../component/fields/Autocomplete.component | 4 ++-- .../component/fields/CheckBox.component | 4 ++-- .../component/fields/ComboBox.component | 4 ++-- .../component/fields/DateTimePicker.component | 4 ++-- .../fields/EditableOneToMany.component | 4 ++-- .../component/fields/FilePreview.component | 4 ++-- .../component/fields/FileUpload.component | 4 ++-- .../component/fields/ManyToMany.component | 4 ++-- .../fields/ManyToManyField.component | 4 ++-- .../component/fields/MoneyField.component | 4 ++-- .../component/fields/NumberField.component | 4 ++-- .../component/fields/OneToMany.component | 4 ++-- .../component/fields/OneToManyV2.component | 4 ++-- .../component/fields/RadioButton.component | 4 ++-- .../fields/SignVerification.component | 4 ++-- .../component/fields/StaticComboBox.component | 4 ++-- .../fields/StaticRadioButton.component | 4 ++-- .../component/fields/Text.component | 4 ++-- .../component/fields/TextArea.component | 4 ++-- .../component/fields/TextField.component | 4 ++-- .../component/fields/TimePicker.component | 4 ++-- .../component/fields/TreeField.component | 4 ++-- .../editableonetomany/EditableGrid.component | 4 ++-- .../fields/editableonetomany/Form.component | 4 ++-- .../fileupload/FileUploadField.component | 4 ++-- .../fields/filters/FilterAddress.component | 4 ++-- .../filters/FilterAutocomplete.component | 4 ++-- .../fields/filters/FilterBoolean.component | 4 ++-- .../fields/filters/FilterCheckBox.component | 4 ++-- .../fields/filters/FilterComboBox.component | 4 ++-- .../filters/FilterDateTimePicker.component | 4 ++-- .../filters/FilterNumberField.component | 4 ++-- .../filters/FilterRadioButton.component | 4 ++-- .../filters/FilterStaticComboBox.component | 4 ++-- .../fields/filters/FilterTextArea.component | 4 ++-- .../fields/filters/FilterTextField.component | 4 ++-- .../fields/treefield/LinkField.component | 4 ++-- .../treefield/MultiValueField.component | 4 ++-- .../component/grids/Grid.component | 4 ++-- .../component/grids/GridV2.component | 4 ++-- .../component/grids/GridV2Column.component | 4 ++-- .../component/grids/GridV2Group.component | 4 ++-- .../component/grids/PagingGrid.component | 4 ++-- .../component/grids/TreeGrid.component | 4 ++-- .../uncategorized/ActionController.component | 4 ++-- .../uncategorized/Calendar.component | 4 ++-- .../component/uncategorized/Chart.component | 4 ++-- .../component/uncategorized/ChartV2.component | 4 ++-- .../uncategorized/EventCalendar.component | 4 ++-- .../uncategorized/GanttChart.component | 4 ++-- .../uncategorized/HyperLink.component | 4 ++-- .../component/uncategorized/IFrame.component | 4 ++-- .../uncategorized/InnerHtml.component | 4 ++-- .../uncategorized/MenuGroup.component | 4 ++-- .../uncategorized/MenuItem.component | 4 ++-- .../ValidationController.component | 4 ++-- .../converters/converters.jar | Bin 91007 -> 91007 bytes .../metadata/java.metadata | Bin 1218922 -> 1218922 bytes .../metadata/typescript.metadata.json | 2 +- .../ProcessInstance.component | 4 ++-- .../ProcessInstanceDiagram.component | 4 ++-- .../ProcessInstanceList.component | 4 ++-- .../user-management/Groups.component | 4 ++-- .../user-management/GroupsCreate.component | 4 ++-- .../user-management/GroupsEdit.component | 4 ++-- .../OrganizationEdit.component | 4 ++-- .../user-management/Organizations.component | 4 ++-- .../user-management/Roles.component | 4 ++-- .../user-management/RolesEdit.component | 4 ++-- .../SecurityFeatures.component | 4 ++-- .../StaticRouteNavigationButton.component | 4 ++-- .../StaticRouteSelectButton.component | 4 ++-- .../user-management/UserForm.component | 4 ++-- .../user-management/Users.component | 4 ++-- .../user-management/UsersCreate.component | 4 ++-- .../user-management/UsersEdit.component | 4 ++-- pom.xml | 4 ++-- 124 files changed, 248 insertions(+), 248 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index ed8e8738..2ae73381 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -27,7 +27,7 @@ "@angular/platform-browser-dynamic": "7.2.15", "@angular/router": "7.2.15", "@ng-bootstrap/ng-bootstrap": "4.1.1", - "@webbpm/base-package": "3.174.1", + "@webbpm/base-package": "3.175.1", "ag-grid-angular": "29.0.0-micord.4", "ag-grid-community": "29.0.0-micord.4", "angular-calendar": "0.28.28", diff --git a/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml b/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml index b2b580a7..6d9bce99 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml +++ b/packages/ru.cg.webbpm.packages.base.resources/.flattened-pom.xml @@ -4,7 +4,7 @@ 4.0.0 ru.cg.webbpm.packages.base resources - 3.174.1 + 3.175.1 Micord @@ -30,13 +30,13 @@ 5.10.2 1.60 true - 3.174.1 + 3.175.1 1.4.200 - 0703063250 + 0717114601 UTF-8 1.10.0 true - 3.174.1 + 3.175.1 typescript.metadata.json https://repo.micord.ru MMddHHmmss @@ -49,19 +49,19 @@ ru.cg.webbpm.packages.base converters - 3.174.1 + 3.175.1 compile ru.cg.webbpm.packages.base backend - 3.174.1 + 3.175.1 compile ru.cg.webbpm.packages.base frontend - 3.174.1 + 3.175.1 compile diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html index a9159194..d7c161a2 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/components/docs/component/grids/NavigateOnGridCellOrRow.html @@ -60,7 +60,7 @@
  • Образец внешней ссылки: https://www.wildberries.ru/catalog/${sku}/detail.aspx
  • -
  • Образец внутренней ссылки: products/ru.cg.webbpm.packages.base:resources:jar:3.174.1
  • +
  • Образец внутренней ссылки: products/ru.cg.webbpm.packages.base:resources:jar:3.175.1
  • diff --git a/packages/ru.cg.webbpm.packages.base.resources/META-INF/package-descriptor.xml b/packages/ru.cg.webbpm.packages.base.resources/META-INF/package-descriptor.xml index 4b43d6ff..876f737d 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/META-INF/package-descriptor.xml +++ b/packages/ru.cg.webbpm.packages.base.resources/META-INF/package-descriptor.xml @@ -4,17 +4,17 @@ Base webbpm package ru.cg.webbpm.packages.base resources - 3.174.1 - 3.174.1 + 3.175.1 + 3.175.1 ru.cg.webbpm.packages.base backend - 3.174.1 + 3.175.1 @webbpm/base-package - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/Button.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/Button.component index 8d220e7b..3a3ce2b9 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/Button.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/Button.component @@ -8,11 +8,11 @@ component/buttons/Кнопка.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/CancelButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/CancelButton.component index 90a6fad9..09cbca1f 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/CancelButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/CancelButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_отмены.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ClearFilterButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ClearFilterButton.component index a0138034..62bc7258 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ClearFilterButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ClearFilterButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_очистки_фильтра.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DeleteButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DeleteButton.component index 35acd235..42b40a8e 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DeleteButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DeleteButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_удаления.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DownloadButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DownloadButton.component index a194ea2c..e3a77708 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DownloadButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/DownloadButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_загрузки.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ErrorButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ErrorButton.component index 3405c1bb..1ea446ee 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ErrorButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ErrorButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_вызова_ошибки.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecProcessButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecProcessButton.component index 1fbc5aba..7f609f6d 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecProcessButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecProcessButton.component @@ -7,11 +7,11 @@ component/buttons/Кнопка_выполнения_бизнес-процесса.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecuteSqlButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecuteSqlButton.component index 77feb00f..f5df508c 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecuteSqlButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/ExecuteSqlButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_выполнения_SQL.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/FilterButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/FilterButton.component index 5a1a99f9..6057c0e1 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/FilterButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/FilterButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_для_фильтрации.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/NavigationButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/NavigationButton.component index 81c8e71b..787ce13d 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/NavigationButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/NavigationButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_навигации.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SaveButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SaveButton.component index a4747472..88e7a202 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SaveButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SaveButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_сохранения.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SelectButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SelectButton.component index a140bef9..859379da 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SelectButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SelectButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_выбора.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SignButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SignButton.component index 77fcfbca..ec1da3d5 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SignButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/SignButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_подписи.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/StartProcessButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/StartProcessButton.component index 6a7c6959..a8c64c30 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/StartProcessButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/StartProcessButton.component @@ -8,11 +8,11 @@ component/buttons/Кнопка_запуска_бизнес-процесса.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/EntityGraphReportingButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/EntityGraphReportingButton.component index c98c6a4c..d6ddccc6 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/EntityGraphReportingButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/EntityGraphReportingButton.component @@ -8,11 +8,11 @@ component/buttons/reporting/Кнопка_печати_из_графа_сущности.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/FormReportingButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/FormReportingButton.component index 647ed363..2aa81792 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/FormReportingButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/buttons/reporting/FormReportingButton.component @@ -8,11 +8,11 @@ component/buttons/reporting/Кнопка_печати_отчета_из_формы.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/CollapsiblePanel.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/CollapsiblePanel.component index f029d64b..8bc56a6a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/CollapsiblePanel.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/CollapsiblePanel.component @@ -8,11 +8,11 @@ component/containers/Сворачиваемая_панель.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Dialog.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Dialog.component index e838703e..63386106 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Dialog.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Dialog.component @@ -8,11 +8,11 @@ component/containers/Диалог.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/DropDown.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/DropDown.component index e36b9cea..99e0e2a5 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/DropDown.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/DropDown.component @@ -8,11 +8,11 @@ component/containers/Контейнер_с_кнопками.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/FieldSet.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/FieldSet.component index 291c0adf..eb107d59 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/FieldSet.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/FieldSet.component @@ -8,11 +8,11 @@ component/containers/Группа_полей.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/FilterGroup.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/FilterGroup.component index 4fdf6946..464cb630 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/FilterGroup.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/FilterGroup.component @@ -8,11 +8,11 @@ component/containers/Набор_фильтров.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Form.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Form.component index f81b5574..7f328f7f 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Form.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Form.component @@ -8,11 +8,11 @@ component/containers/Форма.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/HBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/HBox.component index c5b3e8b2..0a8a47c8 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/HBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/HBox.component @@ -8,11 +8,11 @@ component/containers/Горизонтальный_контейнер.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabContainer.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabContainer.component index 3f6f30b8..84485675 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabContainer.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabContainer.component @@ -8,11 +8,11 @@ component/containers/Контейнер_вкладок.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabItem.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabItem.component index bc357a6b..9de05468 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabItem.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/TabItem.component @@ -8,11 +8,11 @@ component/containers/Вкладка.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/VBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/VBox.component index 11856066..eaac51c3 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/VBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/VBox.component @@ -8,11 +8,11 @@ component/containers/Вертикальный_контейнер.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Window.component b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Window.component index 2afd1343..43c07626 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/containers/Window.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/containers/Window.component @@ -8,11 +8,11 @@ component/containers/Окно.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/EditableGrid.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/EditableGrid.component index 831efa3e..cb640ac0 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/EditableGrid.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/EditableGrid.component @@ -8,11 +8,11 @@ component/editable-grids/EditableGrid.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/AutocompleteGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/AutocompleteGridColumn.component index fc4eccc0..75dd373e 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/AutocompleteGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/AutocompleteGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/autocomplete false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/CheckBoxGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/CheckBoxGridColumn.component index f8c79eae..7a077738 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/CheckBoxGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/CheckBoxGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/check-box false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ComboBoxGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ComboBoxGridColumn.component index 2176fb12..25b3549a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ComboBoxGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ComboBoxGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/combo-box false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/DateTimePickerGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/DateTimePickerGridColumn.component index 32c256e9..c05e4be4 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/DateTimePickerGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/DateTimePickerGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/date-time-picker false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/MoneyFieldGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/MoneyFieldGridColumn.component index 2f4aa28b..bb30d986 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/MoneyFieldGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/MoneyFieldGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/money-field true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/NumberFieldGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/NumberFieldGridColumn.component index 6d08380b..c980c46e 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/NumberFieldGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/NumberFieldGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/number-field false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumn.component index 0d3f309a..606cf3d8 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/one-to-many true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumnV2.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumnV2.component index 473a73fe..ef254fec 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumnV2.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/OneToManyGridColumnV2.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/one-to-many false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyClientGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyClientGridColumn.component index c34c3948..ac6d25aa 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyClientGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyClientGridColumn.component @@ -6,11 +6,11 @@ META-INF/components/localization/editable-grids/read-only true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyServerGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyServerGridColumn.component index 8833d660..137480f8 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyServerGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/ReadonlyServerGridColumn.component @@ -5,11 +5,11 @@ editable-grids true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/StaticComboBoxGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/StaticComboBoxGridColumn.component index 9b662a04..937b5f06 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/StaticComboBoxGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/StaticComboBoxGridColumn.component @@ -8,11 +8,11 @@ Статичный_выпадающий_список_колонки_таблицы.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextAreaGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextAreaGridColumn.component index 53b69d94..c32cb3d5 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextAreaGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextAreaGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/text-area false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextFieldGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextFieldGridColumn.component index ba64eb4e..542876cf 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextFieldGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TextFieldGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/text-field false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TimePickerGridColumn.component b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TimePickerGridColumn.component index 31726adc..92bd9b0a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TimePickerGridColumn.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/editable-grids/columns/TimePickerGridColumn.component @@ -7,11 +7,11 @@ META-INF/components/localization/editable-grids/time-picker false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Address.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Address.component index f625fa14..e7a40ad8 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Address.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Address.component @@ -8,11 +8,11 @@ component/fields/ФИАС.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Autocomplete.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Autocomplete.component index 71db82b0..71b1f242 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Autocomplete.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Autocomplete.component @@ -8,11 +8,11 @@ component/fields/Поле_ввода_с_подбором_значения.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/CheckBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/CheckBox.component index 46433554..f29550e9 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/CheckBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/CheckBox.component @@ -8,11 +8,11 @@ component/fields/Флаг.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ComboBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ComboBox.component index 407c4289..829290df 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ComboBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ComboBox.component @@ -8,11 +8,11 @@ component/fields/Выпадающий_список.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/DateTimePicker.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/DateTimePicker.component index c77c82a8..d894afbf 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/DateTimePicker.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/DateTimePicker.component @@ -8,11 +8,11 @@ component/fields/Дата.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/EditableOneToMany.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/EditableOneToMany.component index 7beef451..656491f4 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/EditableOneToMany.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/EditableOneToMany.component @@ -8,11 +8,11 @@ component/fields/EditableOneToMany.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/FilePreview.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/FilePreview.component index 6e2776d6..b97f8c5f 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/FilePreview.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/FilePreview.component @@ -8,11 +8,11 @@ component/fields/Файл.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/FileUpload.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/FileUpload.component index d4e93907..648ec100 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/FileUpload.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/FileUpload.component @@ -8,11 +8,11 @@ component/fields/Файл.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToMany.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToMany.component index 597df86e..d8a3bf43 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToMany.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToMany.component @@ -8,11 +8,11 @@ component/fields/ManyToMany.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToManyField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToManyField.component index 012f9e42..55720afa 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToManyField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/ManyToManyField.component @@ -8,11 +8,11 @@ component/fields/ManyToManyField.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/MoneyField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/MoneyField.component index c9329039..f772ef3c 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/MoneyField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/MoneyField.component @@ -8,11 +8,11 @@ component/fields/Денежное_поле.html true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/NumberField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/NumberField.component index cb07b000..2ffb7564 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/NumberField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/NumberField.component @@ -8,11 +8,11 @@ component/fields/Числовое_поле.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToMany.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToMany.component index 3c22dac2..1ce79961 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToMany.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToMany.component @@ -8,11 +8,11 @@ component/fields/OneToMany.html true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToManyV2.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToManyV2.component index 40a51930..beda8de4 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToManyV2.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/OneToManyV2.component @@ -8,11 +8,11 @@ component/fields/OneToMany.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/RadioButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/RadioButton.component index f92d4360..b721299a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/RadioButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/RadioButton.component @@ -8,11 +8,11 @@ component/fields/Переключатель.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/SignVerification.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/SignVerification.component index 331b8fa3..70e1b0cb 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/SignVerification.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/SignVerification.component @@ -8,11 +8,11 @@ component/fields/SignVerification.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticComboBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticComboBox.component index 4fdc6cd9..99066c6c 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticComboBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticComboBox.component @@ -8,11 +8,11 @@ component/fields/Статичный_выпадающий_список.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticRadioButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticRadioButton.component index 2fb842a5..6ad07cb7 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticRadioButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/StaticRadioButton.component @@ -8,11 +8,11 @@ component/fields/Статичный_переключатель.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Text.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Text.component index e422bfed..7943dc32 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/Text.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/Text.component @@ -8,11 +8,11 @@ component/fields/Текст.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextArea.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextArea.component index 74d74250..3ac1b667 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextArea.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextArea.component @@ -8,11 +8,11 @@ component/fields/Многострочное_поле.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextField.component index 27f8b112..9930fe86 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TextField.component @@ -8,11 +8,11 @@ component/fields/Текстовое_поле.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TimePicker.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TimePicker.component index 767ffd29..6384280d 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TimePicker.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TimePicker.component @@ -8,11 +8,11 @@ component/fields/Время.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TreeField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TreeField.component index 58cab1b3..eccc0e75 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/TreeField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/TreeField.component @@ -8,11 +8,11 @@ component/fields/TreeField.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/EditableGrid.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/EditableGrid.component index 9d832b4c..05e7113e 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/EditableGrid.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/EditableGrid.component @@ -5,11 +5,11 @@ META-INF/components/localization/editable-grid true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/Form.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/Form.component index 7586a0af..b0a214c3 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/Form.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/editableonetomany/Form.component @@ -4,11 +4,11 @@ EditableOneToManyForm true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/fileupload/FileUploadField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/fileupload/FileUploadField.component index 996e3f84..d66a9a64 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/fileupload/FileUploadField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/fileupload/FileUploadField.component @@ -5,11 +5,11 @@ META-INF/components/localization/fields/file-upload-field true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAddress.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAddress.component index c7d833ab..754804da 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAddress.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAddress.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_полю_адреса.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAutocomplete.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAutocomplete.component index 407ede9a..a572f8e9 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAutocomplete.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterAutocomplete.component @@ -8,11 +8,11 @@ component/fields/filters/Поле_ввода_с_подбором_значения.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterBoolean.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterBoolean.component index 7f226784..d72049a8 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterBoolean.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterBoolean.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_компоненте_Флаг.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterCheckBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterCheckBox.component index 8e98f8e2..91e1a56d 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterCheckBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterCheckBox.component @@ -8,11 +8,11 @@ component/fields/filters/Флаг.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterComboBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterComboBox.component index c6c0a003..8251f2f2 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterComboBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterComboBox.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_выпадающему_списку.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterDateTimePicker.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterDateTimePicker.component index 650bbe4b..80ddc330 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterDateTimePicker.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterDateTimePicker.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_дате.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterNumberField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterNumberField.component index 73fae0b6..c7bf6976 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterNumberField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterNumberField.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_числовому_полю.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterRadioButton.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterRadioButton.component index e5532127..90edc5e1 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterRadioButton.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterRadioButton.component @@ -8,11 +8,11 @@ component/fields/filters/Переключатель.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterStaticComboBox.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterStaticComboBox.component index 6a80b8fb..1aee4802 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterStaticComboBox.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterStaticComboBox.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextArea.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextArea.component index dfdcd8a5..8eb6bac1 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextArea.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextArea.component @@ -8,11 +8,11 @@ component/fields/filters/Фильтр_по_полю_многострочного_ввода.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextField.component index 54a1b587..195e1eb2 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/filters/FilterTextField.component @@ -8,11 +8,11 @@ component/fields/filters/Текстовое_поле.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/LinkField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/LinkField.component index 4e621fb4..67159108 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/LinkField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/LinkField.component @@ -5,11 +5,11 @@ META-INF/components/localization/fields/link-field true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/MultiValueField.component b/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/MultiValueField.component index 1f243b50..d64dc93c 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/MultiValueField.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/fields/treefield/MultiValueField.component @@ -5,11 +5,11 @@ META-INF/components/localization/fields/multi-value-field true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/Grid.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/Grid.component index 0be23826..f5b2bca5 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/Grid.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/Grid.component @@ -8,11 +8,11 @@ component/grids/Таблица.html true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2.component index 80a0710c..ed848083 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2.component @@ -8,11 +8,11 @@ component/grids/Таблица.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Column.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Column.component index 55c739f8..1b206f5a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Column.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Column.component @@ -6,11 +6,11 @@ META-INF/components/localization/grids/grid false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Group.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Group.component index 6637d9e5..d599daa6 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Group.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/GridV2Group.component @@ -6,11 +6,11 @@ META-INF/components/localization/grids/grid false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/PagingGrid.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/PagingGrid.component index 4bdac226..3dfb6eb1 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/PagingGrid.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/PagingGrid.component @@ -8,11 +8,11 @@ component/grids/Таблица_с_постраничным_отображением.html true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/grids/TreeGrid.component b/packages/ru.cg.webbpm.packages.base.resources/component/grids/TreeGrid.component index b55290da..48e33718 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/grids/TreeGrid.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/grids/TreeGrid.component @@ -8,11 +8,11 @@ component/grids/Древовидная_таблица.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ActionController.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ActionController.component index 552f378c..116f7289 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ActionController.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ActionController.component @@ -8,11 +8,11 @@ component/uncategorized/Обработка_событий.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Calendar.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Calendar.component index 44bbcae1..418fb016 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Calendar.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Calendar.component @@ -7,11 +7,11 @@ META-INF/components/localization/uncategorized/calendar false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Chart.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Chart.component index ac099a0a..02c2bdea 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Chart.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/Chart.component @@ -8,11 +8,11 @@ component/uncategorized/Диаграмма.html true - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ChartV2.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ChartV2.component index 651ed006..06c85886 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ChartV2.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ChartV2.component @@ -8,11 +8,11 @@ component/uncategorized/Диаграмма_chart-v2.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/EventCalendar.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/EventCalendar.component index 25f35900..570b1a3a 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/EventCalendar.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/EventCalendar.component @@ -8,11 +8,11 @@ component/uncategorized/EventCalendar.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/GanttChart.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/GanttChart.component index 22b2735a..51108603 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/GanttChart.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/GanttChart.component @@ -8,11 +8,11 @@ component/uncategorized/Диаграмма_Гантта_Календарный_план_.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/HyperLink.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/HyperLink.component index 1a10000d..9665bd27 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/HyperLink.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/HyperLink.component @@ -8,11 +8,11 @@ component/uncategorized/HyperLink.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/IFrame.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/IFrame.component index 51757f50..26387168 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/IFrame.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/IFrame.component @@ -8,11 +8,11 @@ component/uncategorized/IFrame.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/InnerHtml.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/InnerHtml.component index ae3908f5..9bc282b5 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/InnerHtml.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/InnerHtml.component @@ -8,11 +8,11 @@ component/uncategorized/InnerHtml.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuGroup.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuGroup.component index f0b0483c..71e1c337 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuGroup.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuGroup.component @@ -8,11 +8,11 @@ component/uncategorized/MenuGroup.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuItem.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuItem.component index a5f5009d..7a329948 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuItem.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/MenuItem.component @@ -7,11 +7,11 @@ component/uncategorized/MenuItem.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ValidationController.component b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ValidationController.component index 6563012f..3503a62e 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ValidationController.component +++ b/packages/ru.cg.webbpm.packages.base.resources/component/uncategorized/ValidationController.component @@ -8,11 +8,11 @@ component/uncategorized/ValidationController.html false - 3.174.1 + 3.175.1 ru.cg.webbpm.packages.base.resources - 3.174.1 + 3.175.1 diff --git a/packages/ru.cg.webbpm.packages.base.resources/converters/converters.jar b/packages/ru.cg.webbpm.packages.base.resources/converters/converters.jar index a0832fa322115338c81d148c024c30251dd8f51f..0212e659520e9721ffb1bf6127a1e5441928e835 100644 GIT binary patch delta 2388 zcmeHIX;4#F6n-Zm3rT<=pkit(LQ|#6qO5@w5lzA(Jk}&EvbaJkYS}6%!5Jz@84x2r zTPq9Z#!9+#dYG-gkXT+si6zwUR=`M&R*lbf5o z>fycW;W^N;Tsv2a5(+8TlEEei1D70)UR;-w!6x&YcwF(oV|W@ljB@bDGaZ5m*Jy-D zJX?7R>Fim)#7{&~LW&|}4~_=Otvm%|hz6e6RwT++p2GNq zTsl*{=V{_chBEi8>N{ObiYkI@InKE&{X-HH)c3hQJHTX~l$72XI_-q_fO%t3=&{2s z7m~*rLv*35T9>SEck^87RXCa7pt_!HJM%TOpWHNtJid7H{x3gx zs*~E5)J1JOa-riAr>Q#f@7~QJofEcl z<;AA{&p!S7>BiL$s_Q+xx;(oYe!qGV?zgr!RnEP)Bj-iS+7PCzKkQcj@_o$@3bO8G zRT;h?}nqsmN`vWAikv0Zfg_GHH< zYRh3xkyLnGlXglgZSqyTw>|lCWQTdyhgTZ8wkZUx(oE*zR5I03{1-qw;@jGKO`>L#* zS3zbTxlhxfa5dkNTr|-TlZq{G8MK#m;0@7dLl#BcGyfJ5iJ#RWmN1<|Fy} z^*}oWem{p=$N1phfB+Xf9R5%dCZMPmXJ)+;{7jpE%eSsDG9-2*8jDB*g+emBrNWgU zl6&|Dl;HH1#d0``AE(80I-Ivd-q1`a7ZcvDqENubmQp25z%4DC=0X|#{a6^Md7%CO zwftwVWw^LgtFfmjDw?9GD2j=sA()}(fgO{*2tKxROE)4 zS`|bfIHQ69a?=c`!3V)Cwe|0XS*nH*%(ST?62VwE;r&q#x`JGJK5STryOloKArn%v?)hRT-&J zi=}~7sKCgya{OJOf6u2#Wp!U>T62 delta 2388 zcmeHJX;4#F6n+QDLI?!JrHHk%2*{2C!33%ZW-$>0vLu96tP8e|l*I~afT6~A90NY# zsiRmrAf;0(({w<^W$Xe9WhQoXbR;-xP{*mLKajC4NGIpLH0b!hfBNfu=bZ0+=iK|= zz3Jmynx4gIZuy}3JIHFt0Ej}H1F>jHNJM*z zC30V}Ji@BSBM2^G)gyfzWVR%wlLO0TcJdTUM80rvMS_n*JQ?rEXRw$uta}I9#bc?a ze`Dny90{W&7DT@#)W!+M+;z@cv|d~lH%DPnH;p9^k)_-)ozL}#sJlw#lH;!eFIA3L zWN7*(D*00r&2Bq=Q`Y}-@#TcMdSBmmN}2VmuevU=^Jd&rGLFBxG^}lK;QsXJN97(V zzvrhfoaUR^AxHei%7SiZlx^O7-F)ZMng7L&jQYoI`$I!q9$d{=yB#%+Ru*sW9}Mj8@?5^Z z!PIPu>nTpQyP@R+c!L#-X zzdfw|J#*4^{h|}RTWsH~K|iupuet0x5d3pYPLOGMnO;T==GH!OS`&FVY%Ju!)deS8 zhC9FY?Cd;ferc(BB}lH*Opa3{$6lWp$h%wufvsD+rW-34eD`NZ`$gd!2S9zR+c~1! z=*@G-SJ4_?O`G3Y`m21rd3$fQ|(7@ zALSCnjrn9zZUp%v;yp@~33JHZN>^i9QWF>1F3J#R1S>Na(n49e9Vq=niH3)n-0~qh z6TGK~F0$0O(nb11m*}RlBOGTBYtzUZ`h;u&K}-b`L^_$s4mBP;`K17Lyt<;@5UBdb z>ETyjJL7^?p7Xo{3~YjUARq`0R)yZY#zyk1kr*cgk@r^8V|@Jh5eFA|F8--V%pr&t z52`i+B8?5tx6zELNtb!nnqD3scHqdp)pKp==_07W>3cT?zy;jSUcY5v!Y;j&VNm5_ zt?ejV33RA30T!?va}<`|hBdGY{yi*|AQ`g%KP~^+X=(9vdoFV(2trN}L=r(Isz6Ao zlEH~8CtGtMW(l7#=>#hp>Znx`z&nvTAc0lZ2TTo0AQ}NkAsoSSDgAk&HcKH6 zBdt>U14BKOGUeeiNW)a49K5NMGKfddECaPYoGxd=jdIAg<-IBPI!Lg4MK-T>-E7i) z1w+CHr3$-}H#KDQ%rfw%mMUk<)!00&8&S@#i&;P0GrZwFv3aPOlw#9N0dJ}$1;q5g zDUfAfo+_1*Go*qD!@s3MCIWvI6xvV7K^3!)11hM*{OUB=jo?BW>_d={4hIliO@}H3 zYd65>2!=O64FXjL=n>q>V5+p4Ox2@IsK(T$EGG3Z3wB|oARD$IxR%XClGIR+k@IS% zmr%nD)~$iPn2OASG6bh{7{Nd-;GYTAsfBu)lgohKT&7Bx$BcSDk6B=BK9lOnXLN)G zP>bb#1+X2#vO?H~ps5gcAYd0UGw&>d5{!%%!EWpALuocbqJ3+>-Uu7H)*IJ)3@Cmv Gl>GxCuByHO diff --git a/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata b/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata index 18055e08d7edf59f2c561e205f442ee72b8df7b6..7dee0595976aa0d2c27f85f6219d947408d0f999 100644 GIT binary patch literal 1218922 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 m@^%1zQ{igX*6w2Ip~&3<#@;Wnl=HtQzDWC$6| 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ⓈC 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 R-rQ;@>#yAYHat*^{y+I^swDsb literal 1218922 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 diff --git a/packages/ru.cg.webbpm.packages.base.resources/metadata/typescript.metadata.json b/packages/ru.cg.webbpm.packages.base.resources/metadata/typescript.metadata.json index bafdaf41..7e24ed2c 100644 --- a/packages/ru.cg.webbpm.packages.base.resources/metadata/typescript.metadata.json +++ b/packages/ru.cg.webbpm.packages.base.resources/metadata/typescript.metadata.json @@ -1 +1 @@ -[{"rootPath":"/","start":0,"end":596,"imports":[{"libraryName":"ag-grid-community","start":0,"end":54,"specifiers":[{"specifier":"ICellRendererParams"}]},{"libraryName":"component.grid.renderers","start":55,"end":143,"specifiers":[{"specifier":"GridCellValueRenderer"}]}],"exports":[],"declarations":[],"classes":[{"name":"BooleanAsCheckboxRenderer","isExported":true,"start":145,"end":596,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[],"methods":[{"name":"render","isAbstract":false,"type":"HTMLElement | string","isOptional":false,"isStatic":false,"isAsync":false,"start":222,"end":331,"decorators":[],"parameters":[{"name":"params","type":"ICellRendererParams","start":229,"end":256}],"variables":[]},{"name":"booleanValueRenderer","isAbstract":false,"visibility":0,"type":"HTMLElement | string","isOptional":false,"isStatic":false,"isAsync":false,"start":335,"end":594,"decorators":[],"parameters":[{"name":"params","type":"ICellRendererParams","start":364,"end":391}],"variables":[{"name":"checkbox","isConst":true,"isExported":false,"start":421,"end":470}]}],"extendsClauses":[],"implementsClauses":["GridCellValueRenderer"]}],"interfaces":[],"enums":[],"resources":[],"usages":["params","ICellRendererParams","HTMLElement","checkbox","document","GridCellValueRenderer"],"packageName":"admin"},{"rootPath":"/","start":0,"end":1853,"imports":[{"libraryName":"decorators.scopes","start":0,"end":69,"specifiers":[{"specifier":"AnalyticalScope"}]},{"libraryName":"component.field","start":70,"end":125,"specifiers":[{"specifier":"LinkField"}]},{"libraryName":"component","start":126,"end":173,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators","start":174,"end":220,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"ag-grid-community","start":221,"end":263,"specifiers":[{"specifier":"GridApi"}]},{"libraryName":"util","start":264,"end":314,"specifiers":[{"specifier":"DateTimeUtil"}]}],"exports":[],"declarations":[],"classes":[{"name":"LinkFieldCurrentTimestampAsDefaultSetter","isExported":true,"start":316,"end":1853,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"AnalyticalScope","parameters":["LinkField"]}],"properties":[{"name":"columnName","type":"string","isOptional":false,"isStatic":false,"start":420,"end":452,"decorators":[{"name":"NotNull","parameters":[]}]},{"name":"linkField","visibility":0,"type":"LinkField","isOptional":false,"isStatic":false,"start":456,"end":485,"decorators":[]},{"name":"oldRows","visibility":0,"type":"any[]","isOptional":false,"isStatic":false,"start":488,"end":511,"decorators":[]},{"name":"ready","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":514,"end":545,"decorators":[]},{"name":"listener","visibility":0,"type":"Function","isOptional":false,"isStatic":false,"start":548,"end":575,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":579,"end":669,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":673,"end":852,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":856,"end":987,"decorators":[],"parameters":[],"variables":[]},{"name":"postStart","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":991,"end":1178,"decorators":[],"parameters":[],"variables":[]},{"name":"setDefaultValues","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":1182,"end":1708,"decorators":[],"parameters":[{"name":"event","start":1207,"end":1212}],"variables":[{"name":"rows","isConst":false,"isExported":false,"start":1264,"end":1302},{"name":"newRows","isConst":false,"isExported":false,"start":1308,"end":1425}]},{"name":"getRowData","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":1712,"end":1851,"decorators":[],"parameters":[{"name":"api","type":"GridApi","start":1731,"end":1743}],"variables":[{"name":"rows","isConst":false,"isExported":false,"start":1751,"end":1765}]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["LinkField","event","rows","newRows","undefined","element","newRow","DateTimeUtil","api","GridApi","node","AnalyticalScope","Behavior","NotNull","columnName","linkField","oldRows","ready","listener","Function"],"packageName":"admin"},{"rootPath":"/","start":0,"end":1922,"imports":[{"libraryName":"component","start":0,"end":77,"specifiers":[{"specifier":"SelectionChangeEvent"}]},{"libraryName":"generated.bpmn.admin","start":78,"end":164,"specifiers":[{"specifier":"AbortProcessService"}]},{"libraryName":"decorators","start":165,"end":217,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"@angular/core","start":218,"end":321,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component.button","start":322,"end":416,"specifiers":[{"specifier":"SelectableComponentButton"}]},{"libraryName":"component","start":417,"end":484,"specifiers":[{"specifier":"DynamicDataGrid"}]},{"libraryName":"component","start":485,"end":560,"specifiers":[{"specifier":"SelectableComponent"}]},{"libraryName":"decorators","start":561,"end":617,"specifiers":[{"specifier":"ObjectRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"AbortButton","isExported":true,"start":650,"end":1921,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'bpmn-abort-button',\n templateUrl: './../../../../../src/resources/template/component/button/Button.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"selectableComponent","visibility":2,"type":"DynamicDataGrid","isOptional":false,"isStatic":false,"start":900,"end":983,"decorators":[{"name":"ObjectRef","parameters":[]},{"name":"NotNull","parameters":[]},{"name":"Input","parameters":[]}]},{"name":"selected","visibility":0,"type":"number","isOptional":false,"isStatic":false,"start":987,"end":1019,"decorators":[]},{"name":"$","visibility":0,"type":"AbortProcessService","isOptional":false,"isStatic":false,"start":1023,"end":1054,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1137,"end":1229,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1233,"end":1301,"decorators":[],"parameters":[],"variables":[]},{"name":"abortProcess","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1305,"end":1479,"decorators":[],"parameters":[],"variables":[]},{"name":"isEnabled","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1483,"end":1563,"decorators":[],"parameters":[],"variables":[]},{"name":"onSelectableComponentChange","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":1567,"end":1817,"decorators":[],"parameters":[{"name":"event","type":"SelectionChangeEvent","start":1605,"end":1632}],"variables":[]},{"name":"getSelectableComponent","isAbstract":false,"visibility":1,"type":"SelectableComponent","isOptional":false,"isStatic":false,"isAsync":false,"start":1821,"end":1919,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["SelectableComponentButton"],"implementsClauses":[],"ctor":{"name":"AbortButton","start":1058,"end":1133,"parameters":[{"name":"el","type":"ElementRef","start":1070,"end":1084},{"name":"cd","type":"ChangeDetectorRef","start":1086,"end":1107}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","AbortProcessService","Promise","event","SelectionChangeEvent","SelectableComponent","author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","SelectableComponentButton","ObjectRef","NotNull","Input","selectableComponent","DynamicDataGrid","selected","$"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":638,"imports":[{"libraryName":"component.button","start":0,"end":56,"specifiers":[{"specifier":"Button"}]},{"libraryName":"@angular/router","start":57,"end":96,"specifiers":[{"specifier":"Router"}]},{"libraryName":"@angular/core","start":97,"end":162,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]}],"exports":[],"declarations":[],"classes":[{"name":"BackBtn","isExported":true,"start":195,"end":637,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'bpmn-back-button',\n templateUrl: './../../../../../src/resources/template/component/button/Button.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"router","visibility":1,"type":"Router","isOptional":false,"isStatic":false,"start":420,"end":445,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":449,"end":536,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":540,"end":635,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Button"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["Router","Promise","author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Button","router"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":503,"imports":[{"libraryName":"bpmn.admin.component","start":0,"end":60,"specifiers":[{"specifier":"RouteParamFilterGrid"}]},{"libraryName":"@angular/core","start":61,"end":126,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]}],"exports":[],"declarations":[],"classes":[{"name":"InMemoryRouteParamFilterGrid","isExported":true,"start":158,"end":502,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'in-memory-route-param-filter-grid',\n templateUrl: './../../../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":437,"end":500,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["RouteParamFilterGrid"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","RouteParamFilterGrid"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":1335,"imports":[{"libraryName":"generated.bpmn.admin.history","start":0,"end":112,"specifiers":[{"specifier":"ProcessHistoryListRpcService"}]},{"libraryName":"modules.bpmn.provider","start":113,"end":223,"specifiers":[{"specifier":"ProcessInstanceParamsProvider"}]},{"libraryName":"component.field","start":224,"end":283,"specifiers":[{"specifier":"TextArea"}]},{"libraryName":"@angular/core","start":284,"end":380,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"ProcessHistoryList","isExported":true,"start":382,"end":1334,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'process-history-list',\n templateUrl: './../../../../../src/resources/template/component/field/TextArea.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"$","visibility":0,"type":"ProcessHistoryListRpcService","isOptional":false,"isStatic":false,"start":625,"end":665,"decorators":[]},{"name":"showVariableLog","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":668,"end":701,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":784,"end":974,"decorators":[],"parameters":[],"variables":[]},{"name":"getHistory","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":978,"end":1132,"decorators":[],"parameters":[{"name":"processInstanceId","start":997,"end":1014}],"variables":[]},{"name":"setShowVariableLog","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1136,"end":1332,"decorators":[],"parameters":[{"name":"showVariableLog","type":"boolean","start":1162,"end":1186}],"variables":[]}],"extendsClauses":["TextArea"],"implementsClauses":[],"ctor":{"name":"ProcessHistoryList","start":705,"end":780,"parameters":[{"name":"el","type":"ElementRef","start":717,"end":731},{"name":"cd","type":"ChangeDetectorRef","start":733,"end":754}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","ProcessHistoryListRpcService","ProcessInstanceParamsProvider","processInstanceId","val","showVariableLog","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","TextArea","$"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":1219,"imports":[{"libraryName":"@angular/core","start":0,"end":96,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"}]},{"libraryName":"component","start":97,"end":148,"specifiers":[{"specifier":"Control"}]},{"libraryName":"generated.bpmn.admin.history","start":149,"end":269,"specifiers":[{"specifier":"ProcessInstanceDiagramRpcService"}]},{"libraryName":"modules.bpmn.provider","start":270,"end":380,"specifiers":[{"specifier":"ProcessInstanceParamsProvider"}]}],"exports":[],"declarations":[],"classes":[{"name":"ProcessInstanceDiagram","isExported":true,"start":382,"end":1218,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'process-instance-diagram',\n templateUrl: './../../../../../src/resources/template/component/ProcessInstanceDiagram.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"svg","visibility":0,"type":"string","isOptional":false,"isStatic":false,"start":640,"end":660,"decorators":[]},{"name":"$","visibility":0,"type":"ProcessInstanceDiagramRpcService","isOptional":false,"isStatic":false,"start":663,"end":707,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":790,"end":1088,"decorators":[],"parameters":[],"variables":[{"name":"processInstanceId","isConst":false,"isExported":false,"start":833,"end":924}]},{"name":"setSvg","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1092,"end":1169,"decorators":[],"parameters":[{"name":"value","type":"string","start":1099,"end":1112}],"variables":[]},{"name":"getSvg","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1173,"end":1216,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Control"],"implementsClauses":[],"ctor":{"name":"ProcessInstanceDiagram","start":711,"end":786,"parameters":[{"name":"el","type":"ElementRef","start":723,"end":737},{"name":"cd","type":"ChangeDetectorRef","start":739,"end":760}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","processInstanceId","ProcessInstanceParamsProvider","ProcessInstanceDiagramRpcService","svg","value","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Control","$"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":666,"imports":[{"libraryName":"component","start":0,"end":53,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"generated.bpmn.admin","start":54,"end":154,"specifiers":[{"specifier":"ProcessInfoLabelRpcService"}]},{"libraryName":"modules.bpmn.provider","start":155,"end":265,"specifiers":[{"specifier":"ProcessInstanceParamsProvider"}]}],"exports":[],"declarations":[],"classes":[{"name":"ProcessLabel","isExported":true,"start":267,"end":665,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"$","visibility":0,"type":"ProcessInfoLabelRpcService","isOptional":false,"isStatic":false,"start":314,"end":352,"decorators":[]},{"name":"value","visibility":0,"type":"string","isOptional":false,"isStatic":false,"start":355,"end":377,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":381,"end":663,"decorators":[],"parameters":[],"variables":[{"name":"processInstanceId","isConst":false,"isExported":false,"start":481,"end":572}]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["ProcessInfoLabelRpcService","processInstanceId","ProcessInstanceParamsProvider","val","Behavior","$","value"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":1090,"imports":[{"libraryName":"component.field","start":0,"end":87,"specifiers":[{"specifier":"StaticRadioButtonGroup"}]},{"libraryName":"component.button","start":88,"end":144,"specifiers":[{"specifier":"Button"}]},{"libraryName":"component","start":145,"end":198,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators","start":199,"end":251,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"decorators","start":252,"end":308,"specifiers":[{"specifier":"ObjectRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"ProcessStateFieldHandler","isExported":true,"start":341,"end":1089,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"stopButton","visibility":2,"type":"Button","isOptional":false,"isStatic":false,"start":400,"end":454,"decorators":[{"name":"ObjectRef","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"radioButton","visibility":0,"type":"StaticRadioButtonGroup","isOptional":false,"isStatic":false,"start":457,"end":501,"decorators":[]},{"name":"onChangeFunction","visibility":0,"type":"Function","isOptional":false,"isStatic":false,"start":504,"end":539,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":543,"end":727,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":731,"end":850,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":854,"end":973,"decorators":[],"parameters":[],"variables":[]},{"name":"onProcessStateChanged","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":977,"end":1087,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["StaticRadioButtonGroup","author","Behavior","ObjectRef","NotNull","stopButton","Button","radioButton","onChangeFunction","Function"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":1418,"imports":[{"libraryName":"component","start":0,"end":69,"specifiers":[{"specifier":"StaticColumnGrid"}]},{"libraryName":"generated.model","start":70,"end":125,"specifiers":[{"specifier":"Filter"}]},{"libraryName":"@angular/router","start":126,"end":181,"specifiers":[{"specifier":"ActivatedRoute"},{"specifier":"Params"}]},{"libraryName":"@angular/core","start":182,"end":278,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"}]},{"libraryName":"util","start":279,"end":333,"specifiers":[{"specifier":"AngularUtil"}]},{"libraryName":"util","start":334,"end":386,"specifiers":[{"specifier":"FilterUtil"}]}],"exports":[],"declarations":[],"classes":[{"name":"RouteParamFilterGrid","isExported":true,"start":388,"end":1417,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'route-param-filter-grid',\n templateUrl: './../../../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":723,"end":827,"decorators":[],"parameters":[],"variables":[]},{"name":"addRouteParamFilters","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":831,"end":1244,"decorators":[],"parameters":[],"variables":[{"name":"route","isConst":true,"isExported":false,"type":"ActivatedRoute","start":866,"end":930},{"name":"routeParams","isConst":true,"isExported":false,"start":935,"end":1000},{"name":"filter","isConst":false,"isExported":false,"start":1120,"end":1180}]},{"name":"reload","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1248,"end":1352,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":1255,"end":1272}],"variables":[]},{"name":"loadData","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1356,"end":1415,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["StaticColumnGrid"],"implementsClauses":[],"ctor":{"name":"RouteParamFilterGrid","start":644,"end":719,"parameters":[{"name":"el","type":"ElementRef","start":656,"end":670},{"name":"cd","type":"ChangeDetectorRef","start":672,"end":693}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Promise","route","ActivatedRoute","routeParams","AngularUtil","params","Params","idx","filter","FilterUtil","filters","Filter","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","StaticColumnGrid"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":1664,"imports":[{"libraryName":"component","start":0,"end":75,"specifiers":[{"specifier":"SelectableComponent"}]},{"libraryName":"component","start":76,"end":153,"specifiers":[{"specifier":"SelectionChangeEvent"}]},{"libraryName":"@angular/router","start":154,"end":193,"specifiers":[{"specifier":"Router"}]},{"libraryName":"decorators","start":194,"end":246,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"@angular/core","start":247,"end":350,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component.button","start":351,"end":445,"specifiers":[{"specifier":"SelectableComponentButton"}]},{"libraryName":"decorators","start":446,"end":502,"specifiers":[{"specifier":"ObjectRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"SelectBtn","isExported":true,"start":535,"end":1663,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'bpmn-select-button',\n templateUrl: './../../../../../src/resources/template/component/button/Button.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"selectableComponent","visibility":2,"type":"SelectableComponent","isOptional":false,"isStatic":false,"start":784,"end":871,"decorators":[{"name":"ObjectRef","parameters":[]},{"name":"NotNull","parameters":[]},{"name":"Input","parameters":[]}]},{"name":"selected","visibility":0,"type":"number","isOptional":false,"isStatic":false,"start":875,"end":907,"decorators":[]},{"name":"router","visibility":1,"type":"Router","isOptional":false,"isStatic":false,"start":910,"end":935,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1018,"end":1105,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1109,"end":1221,"decorators":[],"parameters":[],"variables":[]},{"name":"onSelectableComponentChange","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":1225,"end":1475,"decorators":[],"parameters":[{"name":"event","type":"SelectionChangeEvent","start":1263,"end":1290}],"variables":[]},{"name":"getSelectableComponent","isAbstract":false,"visibility":1,"type":"SelectableComponent","isOptional":false,"isStatic":false,"isAsync":false,"start":1479,"end":1577,"decorators":[],"parameters":[],"variables":[]},{"name":"isEnabled","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1581,"end":1661,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["SelectableComponentButton"],"implementsClauses":[],"ctor":{"name":"SelectBtn","start":939,"end":1014,"parameters":[{"name":"el","type":"ElementRef","start":951,"end":965},{"name":"cd","type":"ChangeDetectorRef","start":967,"end":988}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Router","Promise","event","SelectionChangeEvent","SelectableComponent","author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","SelectableComponentButton","ObjectRef","NotNull","Input","selectableComponent","selected","router"],"packageName":"bpmn.admin.component"},{"rootPath":"/","start":0,"end":3248,"imports":[{"libraryName":"rxjs","start":0,"end":34,"specifiers":[{"specifier":"Subscription"}]},{"libraryName":"rxjs","start":35,"end":62,"specifiers":[{"specifier":"timer"}]},{"libraryName":"component","start":63,"end":110,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators.scopes","start":111,"end":180,"specifiers":[{"specifier":"AnalyticalScope"}]},{"libraryName":"component","start":181,"end":226,"specifiers":[{"specifier":"Control"}]}],"exports":[],"declarations":[],"classes":[{"name":"AutoHeight","isExported":true,"start":621,"end":3247,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"AnalyticalScope","parameters":["Control"]}],"properties":[{"name":"minHeight","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":692,"end":717,"decorators":[]},{"name":"height","visibility":0,"type":"number","isOptional":false,"isStatic":false,"start":721,"end":744,"decorators":[]}],"methods":[{"name":"start","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":748,"end":1121,"decorators":[],"parameters":[],"variables":[{"name":"checkSizeSubscription","isConst":false,"isExported":false,"type":"Subscription","start":801,"end":901}]},{"name":"resize","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1125,"end":1238,"decorators":[],"parameters":[],"variables":[{"name":"autoHeight","isConst":false,"isExported":false,"start":1154,"end":1194}]},{"name":"setHeightIfNeeded","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1242,"end":1634,"decorators":[],"parameters":[{"name":"autoHeight","type":"number","start":1268,"end":1286}],"variables":[{"name":"element","isConst":false,"isExported":false,"start":1300,"end":1342}]},{"name":"calculateHeight","isAbstract":false,"visibility":0,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":1638,"end":2055,"decorators":[],"parameters":[],"variables":[{"name":"element","isConst":false,"isExported":false,"type":"HTMLElement","start":1678,"end":1727},{"name":"contentRoot","isConst":false,"isExported":false,"type":"HTMLElement","start":1732,"end":1785},{"name":"pageHeight","isConst":false,"isExported":false,"type":"number","start":1791,"end":1841},{"name":"ownHeight","isConst":false,"isExported":false,"type":"number","start":1846,"end":1890},{"name":"ownMarginAndPaddingHeight","isConst":false,"isExported":false,"type":"number","start":1895,"end":1976}]},{"name":"contentHeight","isAbstract":false,"visibility":0,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2059,"end":2430,"decorators":[],"parameters":[],"variables":[{"name":"element","isConst":false,"isExported":false,"type":"HTMLElement","start":2097,"end":2146},{"name":"contentRoot","isConst":false,"isExported":false,"type":"HTMLElement","start":2151,"end":2204},{"name":"contentHeight","isConst":false,"isExported":false,"type":"number","start":2210,"end":2240}]},{"name":"neighboursHeight","isAbstract":false,"visibility":0,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2434,"end":2784,"decorators":[],"parameters":[{"name":"element","type":"HTMLElement","start":2459,"end":2479},{"name":"parent","type":"HTMLElement","start":2481,"end":2500}],"variables":[{"name":"height","isConst":false,"isExported":false,"type":"number","start":2516,"end":2539},{"name":"child","isConst":false,"isExported":false,"type":"HTMLElement","start":2609,"end":2671}]},{"name":"getHostElement","isAbstract":false,"visibility":0,"type":"HTMLElement","isOptional":false,"isStatic":false,"isAsync":false,"start":2788,"end":2880,"decorators":[],"parameters":[],"variables":[]},{"name":"getJqueryHostElement","isAbstract":false,"visibility":0,"type":"JQuery","isOptional":false,"isStatic":false,"isAsync":false,"start":2884,"end":2969,"decorators":[],"parameters":[],"variables":[]},{"name":"getContentRoot","isAbstract":false,"visibility":0,"type":"HTMLElement","isOptional":false,"isStatic":false,"isAsync":false,"start":2973,"end":3080,"decorators":[],"parameters":[],"variables":[]},{"name":"checkSize","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3084,"end":3245,"decorators":[],"parameters":[],"variables":[{"name":"autoHeight","isConst":false,"isExported":false,"start":3116,"end":3156}]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["checkSizeSubscription","Subscription","timer","$","window","autoHeight","element","HTMLElement","contentRoot","pageHeight","ownHeight","ownMarginAndPaddingHeight","contentHeight","parent","height","i","child","JQuery","AnalyticalScope","Control","Behavior","minHeight"],"packageName":"common"},{"rootPath":"/","start":0,"end":865,"imports":[{"libraryName":"component","start":0,"end":63,"specifiers":[{"specifier":"ControlWithValue"}]},{"libraryName":"component","start":64,"end":111,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators.scopes","start":112,"end":181,"specifiers":[{"specifier":"AnalyticalScope"}]},{"libraryName":"modules.bpmn.api.v2.model","start":182,"end":267,"specifiers":[{"specifier":"ProcessVariableType"}]},{"libraryName":"modules.bpmn.api.v2.model","start":268,"end":345,"specifiers":[{"specifier":"ProcessVariable"}]},{"libraryName":"decorators","start":346,"end":392,"specifiers":[{"specifier":"NotNull"}]}],"exports":[],"declarations":[],"classes":[{"name":"BpmnStartProcessVariable","isExported":true,"start":394,"end":864,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"AnalyticalScope","parameters":["ControlWithValue"]}],"properties":[{"name":"variableName","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":490,"end":531,"decorators":[{"name":"NotNull","parameters":[]}]},{"name":"type","visibility":2,"type":"ProcessVariableType","isOptional":false,"isStatic":false,"start":558,"end":604,"decorators":[{"name":"NotNull","parameters":[]}]},{"name":"isArray","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":607,"end":644,"decorators":[{"name":"NotNull","parameters":[]}]}],"methods":[{"name":"getVariableForStartProcess","isAbstract":false,"visibility":2,"type":"ProcessVariable","isOptional":false,"isStatic":false,"isAsync":false,"start":648,"end":862,"decorators":[],"parameters":[],"variables":[{"name":"value","isConst":false,"isExported":false,"start":707,"end":775}]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["ProcessVariable","value","AnalyticalScope","Behavior","NotNull","variableName","type","ProcessVariableType","isArray"],"packageName":"common"},{"rootPath":"/","start":0,"end":323,"imports":[],"exports":[],"declarations":[],"classes":[{"name":"Deferred","isExported":true,"start":0,"end":323,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"promise","type":"Promise","isOptional":false,"isStatic":false,"start":72,"end":92,"decorators":[]},{"name":"resolve","type":"(value?: T | PromiseLike) => void","isOptional":false,"isStatic":false,"start":95,"end":141,"decorators":[]},{"name":"reject","type":"(reason?: any) => void","isOptional":false,"isStatic":false,"start":144,"end":175,"decorators":[]}],"methods":[],"extendsClauses":[],"implementsClauses":[],"typeParameters":["T"],"ctor":{"name":"Deferred","start":179,"end":321,"parameters":[],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["Promise","T","resolve","reject","promise","value","PromiseLike","reason"],"packageName":"common"},{"rootPath":"/","start":0,"end":805,"imports":[{"libraryName":"component","start":0,"end":47,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"generated.rpc.button","start":48,"end":142,"specifiers":[{"specifier":"ExecuteSqlButtonRpcService"}]},{"libraryName":"common","start":143,"end":185,"specifiers":[{"specifier":"ObjectValue"}]},{"libraryName":"decorators","start":186,"end":232,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"webbpm.ui_scripting","start":233,"end":284,"specifiers":[{"specifier":"Value"}]},{"libraryName":"decorators","start":285,"end":337,"specifiers":[{"specifier":"Deprecated"}]}],"exports":[],"declarations":[],"classes":[{"name":"ExecuteSqlService","isExported":true,"start":339,"end":804,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"params","visibility":2,"type":"ObjectValue[]","isOptional":false,"isStatic":false,"start":392,"end":462,"decorators":[{"name":"Visible","parameters":["false"]},{"name":"Deprecated","parameters":[]}]},{"name":"queryParams","visibility":2,"type":"Value[]","isOptional":false,"isStatic":false,"start":496,"end":528,"decorators":[]},{"name":"$","visibility":0,"type":"ExecuteSqlButtonRpcService","isOptional":false,"isStatic":false,"start":532,"end":570,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":574,"end":681,"decorators":[],"parameters":[],"variables":[]},{"name":"executeSql","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":685,"end":802,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["ExecuteSqlButtonRpcService","Visible","param","Behavior","Deprecated","params","ObjectValue","queryParams","Value","$"],"packageName":"common"},{"rootPath":"/","start":0,"end":84,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"Expandable","isExported":true,"start":0,"end":84,"accessors":[],"properties":[],"methods":[{"name":"expand","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":32,"end":41,"decorators":[],"parameters":[],"variables":[]},{"name":"collapse","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":45,"end":56,"decorators":[],"parameters":[],"variables":[]},{"name":"isExpanded","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":60,"end":82,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["expand","collapse","isExpanded"],"packageName":"common"},{"rootPath":"/","start":0,"end":366,"imports":[{"libraryName":"generated.model.filter","start":0,"end":82,"specifiers":[{"specifier":"FilterableReference"}]},{"libraryName":"generated.model","start":83,"end":132,"specifiers":[{"specifier":"Filter"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"Filterable","isExported":true,"start":134,"end":365,"accessors":[],"properties":[],"methods":[{"name":"reload","isAbstract":true,"visibility":2,"type":"Promise | void","isOptional":false,"isStatic":false,"isAsync":false,"start":195,"end":242,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":202,"end":219}],"variables":[]},{"name":"disableInitialLoading","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":246,"end":270,"decorators":[],"parameters":[],"variables":[]},{"name":"addFilter","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":274,"end":306,"decorators":[],"parameters":[{"name":"filter","type":"Filter","start":284,"end":298}],"variables":[]},{"name":"removeFilter","isAbstract":true,"visibility":2,"type":"Filter","isOptional":false,"isStatic":false,"isAsync":false,"start":310,"end":345,"decorators":[],"parameters":[{"name":"guid","type":"string","start":323,"end":335}],"variables":[]},{"name":"clear","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":349,"end":363,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["FilterableReference"],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["FilterableReference","reload","filters","Filter","Promise","disableInitialLoading","addFilter","filter","removeFilter","guid","clear"],"packageName":"common"},{"rootPath":"/","start":0,"end":48,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"Focusable","isExported":true,"start":0,"end":47,"accessors":[],"properties":[],"methods":[{"name":"focus","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":31,"end":45,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["focus"],"packageName":"common"},{"rootPath":"/","start":0,"end":96,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"HasCustomValidationMessages","isExported":true,"start":0,"end":95,"accessors":[],"properties":[],"methods":[{"name":"getCustomValidationMessages","isAbstract":true,"visibility":2,"type":"Set","isOptional":false,"isStatic":false,"isAsync":false,"start":50,"end":93,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["getCustomValidationMessages","Set"],"packageName":"common"},{"rootPath":"/","start":0,"end":507,"imports":[{"libraryName":"component","start":0,"end":47,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators","start":48,"end":98,"specifiers":[{"specifier":"ObjectRef"}]},{"libraryName":"webbpm.ui_scripting","start":99,"end":150,"specifiers":[{"specifier":"Value"}]}],"exports":[],"declarations":[],"classes":[{"name":"ObjectValue","isExported":true,"start":152,"end":507,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"behavior","visibility":2,"type":"Behavior","isOptional":false,"isStatic":false,"start":182,"end":223,"decorators":[{"name":"ObjectRef","parameters":[]}]},{"name":"method","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":226,"end":248,"decorators":[]},{"name":"argument","visibility":2,"type":"Value","isOptional":false,"isStatic":false,"start":251,"end":274,"decorators":[]}],"methods":[{"name":"getValue","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":278,"end":505,"decorators":[],"parameters":[],"variables":[{"name":"func","isConst":false,"isExported":false,"start":300,"end":338}]}],"extendsClauses":[],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["func","ObjectRef","behavior","Behavior","method","argument","Value"],"packageName":"common"},{"rootPath":"/","start":0,"end":511,"imports":[{"libraryName":"common","start":0,"end":47,"specifiers":[{"specifier":"rejectMessage"}]}],"exports":[],"declarations":[],"classes":[{"name":"PromiseWrapper","isExported":true,"start":49,"end":511,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"reject","type":"(reason?: any) => void","isOptional":false,"isStatic":false,"start":85,"end":116,"decorators":[]},{"name":"promise","visibility":0,"type":"Promise","isOptional":false,"isStatic":false,"start":120,"end":153,"decorators":[]}],"methods":[{"name":"wrap","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":157,"end":509,"decorators":[],"parameters":[{"name":"value","type":"Promise","start":169,"end":186}],"variables":[]}],"extendsClauses":[],"implementsClauses":[],"typeParameters":["T"]}],"interfaces":[],"enums":[],"resources":[],"usages":["value","Promise","T","resolve","reject","reason","window","rejectMessage","promise"],"packageName":"common"},{"rootPath":"/","start":0,"end":153,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"Validatable","isExported":true,"start":0,"end":152,"accessors":[],"properties":[],"methods":[{"name":"isValid","isAbstract":true,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":34,"end":62,"decorators":[],"parameters":[],"variables":[]},{"name":"actionOnInvalid","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":66,"end":84,"decorators":[],"parameters":[],"variables":[]},{"name":"isNeedToValidate","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":88,"end":116,"decorators":[],"parameters":[],"variables":[]},{"name":"clearValidateMessages","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":120,"end":150,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["isValid","Promise","actionOnInvalid","isNeedToValidate","clearValidateMessages"],"packageName":"common"},{"rootPath":"/","start":0,"end":5164,"imports":[{"libraryName":"component","start":0,"end":50,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"modules.core.service","start":51,"end":127,"specifiers":[{"specifier":"MessagesService"}]},{"libraryName":"component","start":128,"end":194,"specifiers":[{"specifier":"ControlWithValue"}]},{"libraryName":"generated.rpc.loading","start":195,"end":301,"specifiers":[{"specifier":"DefaultValueLoaderRpcServiceV2"}]},{"libraryName":"modules.core.service","start":302,"end":403,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"webbpm.event","start":404,"end":451,"specifiers":[{"specifier":"Event"}]},{"libraryName":"decorators.scopes","start":452,"end":524,"specifiers":[{"specifier":"AnalyticalScope"}]},{"libraryName":"decorators","start":525,"end":574,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"generated.model","start":575,"end":633,"specifiers":[{"specifier":"FieldData"}]},{"libraryName":"modules.bpmn.service","start":634,"end":723,"specifiers":[{"specifier":"FieldValueFromVariable"}]},{"libraryName":"error","start":724,"end":792,"specifiers":[{"specifier":"ScriptLocationError"}]},{"libraryName":"error","start":793,"end":881,"specifiers":[{"specifier":"MutuallyExclusiveScriptsError"}]},{"libraryName":"component.container","start":882,"end":946,"specifiers":[{"specifier":"IContainer"}]}],"exports":[],"declarations":[],"classes":[{"name":"DefaultValueLoaderV2","isExported":true,"start":948,"end":5163,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"AnalyticalScope","parameters":["IContainer"]}],"properties":[{"name":"container","visibility":0,"type":"IContainer","isOptional":false,"isStatic":false,"start":1035,"end":1065,"decorators":[]},{"name":"$","visibility":0,"type":"DefaultValueLoaderRpcServiceV2","isOptional":false,"isStatic":false,"start":1068,"end":1110,"decorators":[]},{"name":"progressIndicationService","visibility":0,"type":"ProgressIndicationService","isOptional":false,"isStatic":false,"start":1113,"end":1174,"decorators":[]},{"name":"messagesService","visibility":0,"type":"MessagesService","isOptional":false,"isStatic":false,"start":1177,"end":1218,"decorators":[]},{"name":"defaultValuesLoaded","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":1221,"end":1311,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"_isLoaded","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":1314,"end":1349,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1353,"end":1902,"decorators":[],"parameters":[],"variables":[]},{"name":"load","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1906,"end":2767,"decorators":[],"parameters":[],"variables":[{"name":"guidToControlMapping","isConst":false,"isExported":false,"type":"Map","start":1940,"end":2043},{"name":"guids","isConst":false,"isExported":false,"start":2048,"end":2100}]},{"name":"setValues","isAbstract":false,"visibility":0,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":2771,"end":4025,"decorators":[],"parameters":[{"name":"fieldsData","type":"FieldData[]","start":2789,"end":2812},{"name":"guidToControlMapping","type":"Map","start":2814,"end":2865}],"variables":[{"name":"component","isConst":false,"isExported":false,"type":"ControlWithValue","start":2989,"end":3073},{"name":"fieldValueFromVariable","isConst":false,"isExported":false,"type":"FieldValueFromVariable","start":3080,"end":3215},{"name":"valueSetPromises","isConst":false,"isExported":false,"start":3471,"end":3979},{"name":"control","isConst":false,"isExported":false,"start":3543,"end":3607},{"name":"fieldValue","isConst":false,"isExported":false,"start":3618,"end":3640}]},{"name":"setFieldValue","isAbstract":false,"visibility":1,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":4084,"end":4287,"decorators":[],"parameters":[{"name":"fieldData","type":"FieldData","start":4108,"end":4128},{"name":"control","type":"ControlWithValue","start":4130,"end":4155}],"variables":[]},{"name":"getGuidToControlMapping","isAbstract":false,"visibility":0,"type":"Map","isOptional":false,"isStatic":false,"isAsync":false,"start":4291,"end":5085,"decorators":[],"parameters":[{"name":"container","type":"IContainer","start":4323,"end":4344}],"variables":[{"name":"controls","isConst":false,"isExported":false,"type":"ControlWithValue[]","start":4383,"end":4474},{"name":"guidToControlMapping","isConst":false,"isExported":false,"start":4479,"end":4643},{"name":"containers","isConst":false,"isExported":false,"start":4648,"end":4725}]},{"name":"isLoaded","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":5089,"end":5161,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["ProgressIndicationService","MessagesService","ScriptLocationError","DefaultValueLoaderRpcServiceV2","Promise","guidToControlMapping","Map","ControlWithValue","guids","Array","fieldsData","reason","console","FieldData","fieldData","component","fieldValueFromVariable","FieldValueFromVariable","MutuallyExclusiveScriptsError","DefaultValueLoaderV2","valueSetPromises","control","fieldValue","e","promise","container","IContainer","controls","containers","prev","cur","value","key","Visible","AnalyticalScope","Behavior","$","progressIndicationService","messagesService","defaultValuesLoaded","Event","_isLoaded"],"packageName":"common.defaultvalue"},{"rootPath":"/","start":0,"end":60,"imports":[],"exports":[],"declarations":[{"name":"rejectMessage","isConst":true,"isExported":true,"type":"string","start":0,"end":60}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["rejectMessage"],"packageName":"common"},{"rootPath":"/","start":0,"end":103,"imports":[{"libraryName":"common","start":0,"end":43,"specifiers":[{"specifier":"Validatable"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"FormValidatable","isExported":true,"start":45,"end":102,"accessors":[],"properties":[],"methods":[],"extendsClauses":["Validatable"],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["Validatable"],"packageName":"common.validatable"},{"rootPath":"/","start":0,"end":840,"imports":[{"libraryName":"component","start":0,"end":36,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"component","start":37,"end":89,"specifiers":[{"specifier":"ControlWithValue"}]},{"libraryName":"component.field","start":90,"end":140,"specifiers":[{"specifier":"InputControl"}]},{"libraryName":"component.field","start":141,"end":185,"specifiers":[{"specifier":"TextField"}]},{"libraryName":"decorators.scopes","start":186,"end":255,"specifiers":[{"specifier":"AnalyticalScope"}]},{"libraryName":"decorators","start":256,"end":302,"specifiers":[{"specifier":"Visible"}]}],"exports":[],"declarations":[],"classes":[{"name":"Append","isExported":true,"start":333,"end":839,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"AnalyticalScope","parameters":["TextField"]}],"properties":[{"name":"script","visibility":0,"type":"ControlWithValue","isOptional":false,"isStatic":false,"start":402,"end":435,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":439,"end":529,"decorators":[],"parameters":[],"variables":[]},{"name":"append","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":533,"end":837,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":553,"end":566}],"variables":[{"name":"currentValue","isConst":false,"isExported":false,"start":574,"end":616}]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["InputControl","Visible","value","currentValue","undefined","author","AnalyticalScope","TextField","Behavior","script","ControlWithValue"],"packageName":"component"},{"rootPath":"/","start":0,"end":2412,"imports":[{"libraryName":"@angular/core","start":0,"end":103,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component","start":104,"end":132,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"component.grid","start":133,"end":198,"specifiers":[{"specifier":"AutoHeightGridLoader"}]},{"libraryName":"rxjs","start":199,"end":233,"specifiers":[{"specifier":"Subscription"}]},{"libraryName":"rxjs","start":234,"end":261,"specifiers":[{"specifier":"timer"}]},{"libraryName":"decorators","start":262,"end":326,"specifiers":[{"specifier":"AdvancedProperty"}]},{"libraryName":"ag-grid-community","start":327,"end":377,"specifiers":[{"specifier":"BodyScrollEvent"}]}],"exports":[],"declarations":[],"classes":[{"name":"AutoHeightGrid","isExported":true,"start":379,"end":2411,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'auto-height-grid',\n templateUrl: './../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"autoHeightLoader","visibility":0,"type":"AutoHeightGridLoader","isOptional":false,"isStatic":false,"start":604,"end":651,"decorators":[]},{"name":"refreshRow","visibility":0,"type":"number","isOptional":false,"isStatic":false,"start":654,"end":681,"decorators":[]},{"name":"autoRefreshSubscription","visibility":1,"type":"Subscription","isOptional":false,"isStatic":false,"start":684,"end":732,"decorators":[]},{"name":"refreshTimeout","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":736,"end":804,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]}]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":808,"end":985,"decorators":[],"parameters":[],"variables":[]},{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1068,"end":1131,"decorators":[],"parameters":[],"variables":[]},{"name":"onBodyScroll","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1135,"end":1697,"decorators":[],"parameters":[{"name":"event","type":"BodyScrollEvent","start":1155,"end":1177}],"variables":[{"name":"lastDisplayedRow","isConst":false,"isExported":false,"start":1216,"end":1279}]},{"name":"bindEvents","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1701,"end":1782,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1786,"end":1867,"decorators":[],"parameters":[],"variables":[]},{"name":"subscribeAutoRefresh","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1871,"end":2189,"decorators":[],"parameters":[],"variables":[]},{"name":"unsubscribeAutoRefresh","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2193,"end":2333,"decorators":[],"parameters":[],"variables":[]},{"name":"setRefreshTimeount","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":2337,"end":2409,"decorators":[],"parameters":[{"name":"value","type":"number","start":2356,"end":2369}],"variables":[]}],"extendsClauses":["Grid"],"implementsClauses":[],"ctor":{"name":"AutoHeightGrid","start":989,"end":1064,"parameters":[{"name":"el","type":"ElementRef","start":1001,"end":1015},{"name":"cd","type":"ChangeDetectorRef","start":1017,"end":1038}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["Promise","AutoHeightGridLoader","Number","el","ElementRef","cd","ChangeDetectorRef","event","BodyScrollEvent","lastDisplayedRow","timer","value","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Grid","autoHeightLoader","refreshRow","autoRefreshSubscription","Subscription","Input","AdvancedProperty","refreshTimeout"],"packageName":"component"},{"rootPath":"/","start":0,"end":10311,"imports":[{"libraryName":"@angular/core","start":0,"end":145,"specifiers":[{"specifier":"AfterViewInit"},{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"},{"specifier":"Input"},{"specifier":"OnChanges"},{"specifier":"OnDestroy"},{"specifier":"OnInit"},{"specifier":"SimpleChanges"}]},{"libraryName":"component","start":146,"end":182,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"decorators","start":183,"end":229,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"modules.page.model","start":230,"end":291,"specifiers":[{"specifier":"InjectBean"}]},{"libraryName":"modules.page.model","start":292,"end":377,"specifiers":[{"specifier":"ObjRefInitializerBean"}]}],"exports":[],"declarations":[],"classes":[{"name":"BaseComponent","isExported":true,"start":379,"end":10310,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"injectBean","visibility":2,"type":"InjectBean","isOptional":false,"isStatic":false,"start":492,"end":553,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"el","visibility":1,"type":"ElementRef","isOptional":false,"isStatic":false,"start":557,"end":582,"decorators":[]},{"name":"parentContext","visibility":1,"type":"BaseComponent","isOptional":false,"isStatic":false,"start":586,"end":625,"decorators":[]},{"name":"onDestroyHandlers","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":629,"end":674,"decorators":[]},{"name":"cd","visibility":1,"type":"ChangeDetectorRef","isOptional":false,"isStatic":false,"start":678,"end":710,"decorators":[]},{"name":"injectMap","visibility":0,"type":"any","isOptional":false,"isStatic":false,"start":714,"end":737,"decorators":[]},{"name":"parentId","visibility":0,"type":"string","isOptional":false,"isStatic":false,"start":741,"end":766,"decorators":[]},{"name":"childrenIds","visibility":0,"type":"string[]","isOptional":false,"isStatic":false,"start":770,"end":805,"decorators":[]},{"name":"relativesInitiated","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":809,"end":853,"decorators":[]},{"name":"directChildren","visibility":0,"type":"any[]","isOptional":false,"isStatic":false,"start":857,"end":892,"decorators":[]},{"name":"initialComponentScript","visibility":0,"type":"any","isOptional":false,"isStatic":false,"start":896,"end":932,"decorators":[]}],"methods":[{"name":"getEl","isAbstract":false,"visibility":2,"type":"ElementRef","isOptional":false,"isStatic":false,"isAsync":false,"start":1100,"end":1152,"decorators":[],"parameters":[],"variables":[]},{"name":"initRelatives","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1156,"end":1437,"decorators":[],"parameters":[],"variables":[]},{"name":"ngOnChanges","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1441,"end":3134,"decorators":[],"parameters":[{"name":"changes","type":"SimpleChanges","start":1453,"end":1475}],"variables":[{"name":"objectIdStr","isConst":false,"isExported":false,"start":1518,"end":1561},{"name":"injectBeanChanged","isConst":false,"isExported":false,"start":1795,"end":1853},{"name":"injectBeanChange","isConst":false,"isExported":false,"start":1909,"end":1954},{"name":"injectBean","isConst":false,"isExported":false,"type":"InjectBean","start":1961,"end":2020}]},{"name":"isInjectBeanChanged","isAbstract":false,"visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":3138,"end":3283,"decorators":[],"parameters":[{"name":"changes","type":"SimpleChanges","start":3168,"end":3190}],"variables":[]},{"name":"ngOnInit","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3287,"end":3309,"decorators":[],"parameters":[],"variables":[]},{"name":"ngAfterViewInit","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":3313,"end":3336,"decorators":[],"parameters":[],"variables":[]},{"name":"ngOnDestroy","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3340,"end":3562,"decorators":[],"parameters":[],"variables":[]},{"name":"getParentContext","isAbstract":false,"visibility":2,"type":"BaseComponent","isOptional":false,"isStatic":false,"isAsync":false,"start":3566,"end":3643,"decorators":[],"parameters":[],"variables":[]},{"name":"initParentContext","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3647,"end":4110,"decorators":[],"parameters":[],"variables":[{"name":"parentNode","isConst":false,"isExported":false,"type":"HTMLElement","start":3686,"end":3752},{"name":"parentOfParent","isConst":false,"isExported":false,"type":"HTMLElement","start":3757,"end":3789}]},{"name":"addOnDestroyHandler","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":4114,"end":4207,"decorators":[],"parameters":[{"name":"handler","type":"Function","start":4141,"end":4158}],"variables":[]},{"name":"getScriptInChildren","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":4591,"end":5032,"decorators":[],"parameters":[{"name":"_class","type":"any","start":4618,"end":4629},{"name":"nodePredicate","type":"(item: any) => boolean","start":4631,"end":4669}],"variables":[{"name":"queue","isConst":false,"isExported":false,"type":"any[]","start":4682,"end":4727},{"name":"item","isConst":false,"isExported":false,"start":4765,"end":4790},{"name":"found","isConst":false,"isExported":false,"start":4797,"end":4832}]},{"name":"getScriptsInChildren","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":5417,"end":5990,"decorators":[],"parameters":[{"name":"_class","type":"any","start":5445,"end":5456},{"name":"nodePredicate","type":"(item: any) => boolean","start":5458,"end":5496}],"variables":[{"name":"scripts","isConst":false,"isExported":false,"type":"any[]","start":5511,"end":5535},{"name":"queue","isConst":false,"isExported":false,"type":"BaseComponent[]","start":5540,"end":5595},{"name":"item","isConst":false,"isExported":false,"start":5633,"end":5658}]},{"name":"getScriptInThisAndChildren","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":6381,"end":6629,"decorators":[],"parameters":[{"name":"_class","type":"any","start":6415,"end":6426},{"name":"nodePredicate","type":"(item: any) => boolean","start":6428,"end":6466}],"variables":[{"name":"found","isConst":false,"isExported":false,"start":6479,"end":6514}]},{"name":"getScriptsInThisAndChildren","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":7029,"end":7279,"decorators":[],"parameters":[{"name":"_class","type":"any","start":7064,"end":7075},{"name":"nodePredicate","type":"(item: any) => boolean","start":7077,"end":7115}],"variables":[{"name":"scripts","isConst":false,"isExported":false,"type":"any[]","start":7130,"end":7175}]},{"name":"getScriptInAncestor","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":7658,"end":8067,"decorators":[],"parameters":[{"name":"_class","type":"any","start":7685,"end":7696},{"name":"nodePredicate","type":"(item: any) => boolean","start":7698,"end":7736}],"variables":[{"name":"ancestor","isConst":false,"isExported":false,"type":"BaseComponent","start":7749,"end":7803},{"name":"found","isConst":false,"isExported":false,"start":7833,"end":7872}]},{"name":"getScriptsInAncestor","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":8441,"end":8832,"decorators":[],"parameters":[{"name":"_class","type":"any","start":8469,"end":8480},{"name":"nodePredicate","type":"(item: any) => boolean","start":8482,"end":8520}],"variables":[{"name":"scripts","isConst":false,"isExported":false,"type":"any[]","start":8535,"end":8559},{"name":"ancestor","isConst":false,"isExported":false,"type":"BaseComponent","start":8564,"end":8618}]},{"name":"getChildComponents","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":8836,"end":8913,"decorators":[],"parameters":[],"variables":[]},{"name":"getScriptsInSiblings","isAbstract":false,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":9055,"end":9200,"decorators":[],"parameters":[{"name":"_class","type":"any","start":9076,"end":9087}],"variables":[{"name":"parentContext","isConst":false,"isExported":false,"start":9102,"end":9146}]},{"name":"getChildScripts","isAbstract":false,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":9427,"end":9719,"decorators":[],"parameters":[{"name":"_class","type":"any","start":9443,"end":9454},{"name":"nodePredicate","type":"(item: any) => boolean","start":9456,"end":9494}],"variables":[{"name":"result","isConst":false,"isExported":false,"start":9509,"end":9525}]},{"name":"getScriptInObject","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":9889,"end":10188,"decorators":[],"parameters":[{"name":"objectId","type":"string","start":9907,"end":9923},{"name":"_class","type":"any","start":9925,"end":9936}],"variables":[{"name":"targetCmp","isConst":false,"isExported":false,"type":"BaseComponent","start":9949,"end":10125}]},{"name":"getChangeDetector","isAbstract":false,"type":"ChangeDetectorRef","isOptional":false,"isStatic":false,"isAsync":false,"start":10192,"end":10256,"decorators":[],"parameters":[],"variables":[]},{"name":"markForCheck","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":10260,"end":10308,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":["OnDestroy","OnInit","AfterViewInit","OnChanges"],"ctor":{"name":"BaseComponent","start":936,"end":1096,"parameters":[{"name":"el","type":"ElementRef","start":948,"end":962},{"name":"cd","type":"ChangeDetectorRef","start":964,"end":985}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","childId","changes","SimpleChanges","objectIdStr","injectBeanChanged","injectBeanChange","injectBean","InjectBean","script","Behavior","key","Object","initializer","ObjRefInitializerBean","handler","BaseComponent","parentNode","HTMLElement","parentOfParent","undefined","Function","param","_class","nodePredicate","returns","item","queue","found","scripts","Error","ancestor","parentContext","result","objectId","targetCmp","OnDestroy","OnInit","AfterViewInit","OnChanges","Input","Visible","onDestroyHandlers","injectMap","parentId","childrenIds","relativesInitiated","directChildren","initialComponentScript"],"packageName":"component"},{"rootPath":"/","start":0,"end":38930,"imports":[{"libraryName":"ag-grid-community","start":0,"end":503,"specifiers":[{"specifier":"BodyScrollEvent"},{"specifier":"CellClickedEvent"},{"specifier":"ColDef"},{"specifier":"ColumnApi"},{"specifier":"ColumnMovedEvent"},{"specifier":"ColumnResizedEvent"},{"specifier":"ColumnVisibleEvent"},{"specifier":"ComponentStateChangedEvent"},{"specifier":"Events"},{"specifier":"GetContextMenuItemsParams"},{"specifier":"GetRowIdFunc"},{"specifier":"GridApi"},{"specifier":"GridReadyEvent"},{"specifier":"ICellRendererFunc"},{"specifier":"ICellRendererParams"},{"specifier":"IRowNode"},{"specifier":"MenuItemDef"},{"specifier":"ProcessCellForExportParams"},{"specifier":"RowClickedEvent"},{"specifier":"RowDoubleClickedEvent"},{"specifier":"RowNode"},{"specifier":"SelectionChangedEvent"},{"specifier":"SortChangedEvent"},{"specifier":"SuppressKeyboardEventParams"}]},{"libraryName":"generated.property.grid","start":504,"end":571,"specifiers":[{"specifier":"GridColumns"}]},{"libraryName":"generated.model.grid","start":572,"end":630,"specifiers":[{"specifier":"SortInfo"}]},{"libraryName":"component","start":631,"end":665,"specifiers":[{"specifier":"Control"}]},{"libraryName":"component.grid","start":666,"end":723,"specifiers":[{"specifier":"GridConfigurator"}]},{"libraryName":"webbpm.event","start":724,"end":768,"specifiers":[{"specifier":"Event"}]},{"libraryName":"decorators","start":769,"end":833,"specifiers":[{"specifier":"AdvancedProperty"}]},{"libraryName":"@angular/core","start":834,"end":901,"specifiers":[{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"common","start":902,"end":946,"specifiers":[{"specifier":"Deferred"}]},{"libraryName":"decorators","start":947,"end":993,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"decorators","start":994,"end":1066,"specifiers":[{"specifier":"ExcludeTypeFiltering"}]},{"libraryName":"generated.property.enums","start":1067,"end":1143,"specifiers":[{"specifier":"GridDisplayType"}]},{"libraryName":"generated.model","start":1144,"end":1193,"specifiers":[{"specifier":"Filter"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.api.dao.option","start":1194,"end":1288,"specifiers":[{"specifier":"SortOrder"}]},{"libraryName":"decorators","start":1289,"end":1335,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"component","start":1336,"end":1394,"specifiers":[{"specifier":"SelectableComponent"}]},{"libraryName":"component.grid","start":1395,"end":1452,"specifiers":[{"specifier":"WebbpmDatasource"}]},{"libraryName":"util","start":1453,"end":1497,"specifiers":[{"specifier":"GridUtils"}]},{"libraryName":"component.grid.utils","start":1498,"end":1565,"specifiers":[{"specifier":"GridColumnDefUtils"}]},{"libraryName":"component.grid.utils","start":1566,"end":1631,"specifiers":[{"specifier":"GridColumnIdUtils"}]},{"libraryName":"generated.property.grid","start":1632,"end":1697,"specifiers":[{"specifier":"ColumnSort"}]},{"libraryName":"component.grid.utils","start":1698,"end":1773,"specifiers":[{"specifier":"GridValueRendererUtils"}]},{"libraryName":"component.grid.enums","start":1774,"end":1855,"specifiers":[{"specifier":"GridRowClickSelectionType"}]},{"libraryName":"component.grid.enums","start":1856,"end":1931,"specifiers":[{"specifier":"GridLoadingOverlayType"}]},{"libraryName":"component.grid.utils","start":1932,"end":2003,"specifiers":[{"specifier":"GridCellTooltipUtils"}]},{"libraryName":"component.grid.utils","start":2004,"end":2081,"specifiers":[{"specifier":"GridValueFormatterUtils"}]},{"libraryName":"component.grid.menus","start":2082,"end":2151,"specifiers":[{"specifier":"GridContextMenuItem"}]},{"libraryName":"component.grid.selection","start":2152,"end":2217,"specifiers":[{"specifier":"IsRowSelectable"}]},{"libraryName":"component.grid.selection","start":2218,"end":2293,"specifiers":[{"specifier":"GridSelectionService"}]},{"libraryName":"generated.model.grid","start":2294,"end":2350,"specifiers":[{"specifier":"GridRow"}]},{"libraryName":"component.grid.navigation","start":2351,"end":2429,"specifiers":[{"specifier":"GridNavigationService"}]},{"libraryName":"component.grid.utils","start":2430,"end":2507,"specifiers":[{"specifier":"GridColumnKeyboardUtils"}]},{"libraryName":"component.grid.utils","start":2508,"end":2589,"specifiers":[{"specifier":"GridColumnComparatorUtils"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":2590,"end":2642,"specifiers":[{"specifier":"NgbModal"}]},{"libraryName":"component.grid.headers","start":2643,"end":2710,"specifiers":[{"specifier":"GridSettingHeader"}]},{"libraryName":"directive","start":2711,"end":2807,"specifiers":[{"specifier":"GridConfiguratorDialogComponent"}]},{"libraryName":"modules.core.service","start":2808,"end":2890,"specifiers":[{"specifier":"LocalStorageService"}]},{"libraryName":"component.grid.utils","start":2891,"end":2962,"specifiers":[{"specifier":"GridColumnStateUtils"}]},{"libraryName":"modules.bpmn.storage","start":2963,"end":3047,"specifiers":[{"specifier":"PageObjectByIdStorage"}]},{"libraryName":"generated.component.grid.model","start":3048,"end":3120,"specifiers":[{"specifier":"PinnedType"}]},{"libraryName":"component.grid.utils","start":3121,"end":3194,"specifiers":[{"specifier":"GridColumnFilterUtils"}]},{"libraryName":"component.grid","start":3195,"end":3246,"specifiers":[{"specifier":"RussianLocale"}]},{"libraryName":"component.enum","start":3247,"end":3290,"specifiers":[{"specifier":"GridTheme"}]},{"libraryName":"moment-timezone","start":3291,"end":3328,"specifiers":[],"defaultAlias":"moment"},{"libraryName":"moment","start":3329,"end":3359,"specifiers":[{"specifier":"Moment"}]},{"libraryName":"util","start":3360,"end":3410,"specifiers":[{"specifier":"DateTimeUtil"}]},{"libraryName":"component.grid.renderers","start":3411,"end":3488,"specifiers":[{"specifier":"GridCellValueRenderer"}]},{"libraryName":"ag-grid-community","start":3489,"end":3538,"specifiers":[{"specifier":"GetRowIdParams"}]},{"libraryName":"ag-grid-community","start":3539,"end":3592,"specifiers":[{"specifier":"RowDataTransaction"}]},{"libraryName":"component.grid.tooltip","start":3593,"end":3654,"specifiers":[{"specifier":"DefaultTooltip"}]},{"libraryName":"component.enum","start":3655,"end":3712,"specifiers":[{"specifier":"GridRowModelType"}]},{"libraryName":"ag-grid-community","start":3713,"end":3759,"specifiers":[{"specifier":"ColumnState"}]},{"libraryName":"util","start":3760,"end":3836,"specifiers":[{"specifier":"UnsupportedOperationError"}]}],"exports":[],"declarations":[],"classes":[{"name":"BaseGrid","isExported":true,"start":3838,"end":38929,"accessors":[],"getters":[{"name":"rowData","visibility":1,"type":"any[]","isAbstract":false,"isStatic":false,"start":8341,"end":8648}],"setters":[{"name":"rowData","visibility":1,"isAbstract":false,"isStatic":false,"start":8652,"end":8908}],"decorators":[],"properties":[{"name":"headerHeight","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":3920,"end":3986,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]}]},{"name":"rowHeight","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":3990,"end":4053,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]}]},{"name":"rowSelection","visibility":2,"isOptional":false,"isStatic":false,"start":4057,"end":4119,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"rowClassRules","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":4123,"end":4180,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"datasource","visibility":2,"type":"WebbpmDatasource","isOptional":false,"isStatic":false,"start":4184,"end":4251,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"maxConcurrentDatasourceRequests","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":4255,"end":4342,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"blockLoadDebounceMillis","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":4346,"end":4422,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"blockSize","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":4426,"end":4482,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"columnDefs","visibility":2,"type":"ColDef[]","isOptional":false,"isStatic":false,"start":4486,"end":4545,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"defaultColDef","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":4549,"end":4606,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"pinnedBottomRowData","visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"start":4610,"end":4680,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"suppressColumnTooltip","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":4684,"end":4761,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"autoStretchColumns","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":4765,"end":4833,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]}]},{"name":"loadingOverlayType","visibility":2,"type":"GridLoadingOverlayType","isOptional":false,"isStatic":false,"start":4837,"end":4909,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"loadingOverlayMessage","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":4914,"end":5089,"decorators":[{"name":"AdvancedProperty","parameters":[]},{"name":"Visible","parameters":["loadingOverlayType == GridLoadingOverlayType.TEXT_OVERLAY"]}]},{"name":"noRowsOverlayMessage","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":5093,"end":5246,"decorators":[{"name":"AdvancedProperty","parameters":[]},{"name":"Visible","parameters":["loadingOverlayType == GridLoadingOverlayType.TEXT_OVERLAY"]}]},{"name":"theme","visibility":2,"type":"GridTheme","isOptional":false,"isStatic":false,"start":5250,"end":5315,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"gridLoaded","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":5319,"end":5409,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"multiselectable","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":5413,"end":5458,"decorators":[{"name":"NotNull","parameters":[]}]},{"name":"checkboxColumn","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":5462,"end":5531,"decorators":[{"name":"Visible","parameters":["multiselectable == true"]}]},{"name":"checkboxHeader","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":5534,"end":5609,"decorators":[{"name":"Visible","parameters":["checkboxColumn == true"]}]},{"name":"pinnedBottomRowLabel","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":5613,"end":5649,"decorators":[]},{"name":"rowClickSelectionType","visibility":2,"type":"GridRowClickSelectionType","isOptional":false,"isStatic":false,"start":5653,"end":5757,"decorators":[]},{"name":"selectionChangeEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":5761,"end":5848,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"cellClickEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":5852,"end":5925,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"rowClickEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":5929,"end":6001,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"rowDoubleClickEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":6005,"end":6083,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"showRowNumber","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":6088,"end":6118,"decorators":[]},{"name":"floatingFilter","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":6122,"end":6173,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"localeText","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":6177,"end":6220,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"allowContextMenuWithControlKey","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":6224,"end":6293,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"saveColumnState","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":6297,"end":6359,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"gridConfigurationRowHeight","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":6363,"end":6432,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"tooltipDelay","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":6436,"end":6492,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"enableCellTextSelection","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":6496,"end":6565,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"gridApi","visibility":1,"type":"GridApi","isOptional":false,"isStatic":false,"start":6569,"end":6596,"decorators":[]},{"name":"columnApi","visibility":1,"type":"ColumnApi","isOptional":false,"isStatic":false,"start":6599,"end":6630,"decorators":[]},{"name":"cellClickListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6633,"end":6679,"decorators":[]},{"name":"rowClickListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6682,"end":6727,"decorators":[]},{"name":"rowDoubleClickListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6730,"end":6781,"decorators":[]},{"name":"postLoadListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6784,"end":6829,"decorators":[]},{"name":"columnVisibilityChangedListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6832,"end":6892,"decorators":[]},{"name":"columnResizedListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6895,"end":6945,"decorators":[]},{"name":"columnMovedListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6948,"end":6996,"decorators":[]},{"name":"sortChangedListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":6999,"end":7047,"decorators":[]},{"name":"onGridReadyCallbacks","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":7050,"end":7098,"decorators":[]},{"name":"gridSelectionService","visibility":1,"type":"GridSelectionService","isOptional":false,"isStatic":false,"start":7101,"end":7154,"decorators":[]},{"name":"gridNavigationService","visibility":1,"type":"GridNavigationService","isOptional":false,"isStatic":false,"start":7157,"end":7212,"decorators":[]},{"name":"autoStretchColumnsListener","visibility":1,"type":"Function","isOptional":false,"isStatic":false,"start":7215,"end":7304,"decorators":[]},{"name":"destroyCalled","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":7307,"end":7346,"decorators":[]},{"name":"defaultSortModel","visibility":1,"type":"any","isOptional":false,"isStatic":false,"start":7350,"end":7382,"decorators":[]},{"name":"tempRowData","visibility":1,"type":"any[]","isOptional":false,"isStatic":false,"start":7704,"end":7733,"decorators":[]},{"name":"tempTransactions","visibility":1,"type":"RowDataTransaction[]","isOptional":false,"isStatic":false,"start":7736,"end":7790,"decorators":[]},{"name":"initDeferred","visibility":1,"type":"Deferred","isOptional":false,"isStatic":false,"start":7793,"end":7855,"decorators":[]},{"name":"initialized","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":7859,"end":7896,"decorators":[]},{"name":"dependDeferred","visibility":0,"type":"Deferred","isOptional":false,"isStatic":false,"start":7900,"end":7962,"decorators":[]},{"name":"rowSelectable","visibility":0,"type":"IsRowSelectable","isOptional":false,"isStatic":false,"start":7965,"end":8004,"decorators":[]},{"name":"contextMenuItems","visibility":0,"type":"GridContextMenuItem[]","isOptional":false,"isStatic":false,"start":8007,"end":8055,"decorators":[]},{"name":"ngbModal","visibility":0,"type":"NgbModal","isOptional":false,"isStatic":false,"start":8058,"end":8085,"decorators":[]},{"name":"gridConfigurationCache","visibility":0,"type":"PageObjectByIdStorage","isOptional":false,"isStatic":false,"start":8088,"end":8142,"decorators":[]}],"methods":[{"name":"updateRowData","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8912,"end":9101,"decorators":[],"parameters":[{"name":"diff","type":"RowDataTransaction","start":8936,"end":8960}],"variables":[]},{"name":"applyUpdateTransaction","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":9105,"end":9374,"decorators":[],"parameters":[{"name":"diff","type":"RowDataTransaction","start":9138,"end":9162}],"variables":[{"name":"transaction","isConst":false,"isExported":false,"start":9170,"end":9224},{"name":"rowNodesToUpdate","isConst":false,"isExported":false,"start":9229,"end":9296}]},{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":9378,"end":10525,"decorators":[],"parameters":[],"variables":[{"name":"localStorageService","isConst":false,"isExported":false,"start":9739,"end":9804},{"name":"gridConfiguration","isConst":true,"isExported":false,"start":9809,"end":9923},{"name":"grid","isConst":false,"isExported":false,"type":"any","start":10030,"end":10074}]},{"name":"start","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10529,"end":10790,"decorators":[],"parameters":[],"variables":[]},{"name":"reset","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10794,"end":10863,"decorators":[],"parameters":[],"variables":[]},{"name":"getRowModelType","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":10867,"end":10909,"decorators":[],"parameters":[],"variables":[]},{"name":"getGridApi","isAbstract":false,"visibility":2,"type":"GridApi","isOptional":false,"isStatic":false,"isAsync":false,"start":10913,"end":10972,"decorators":[],"parameters":[],"variables":[]},{"name":"getColumnApi","isAbstract":false,"visibility":2,"type":"ColumnApi","isOptional":false,"isStatic":false,"isAsync":false,"start":10976,"end":11041,"decorators":[],"parameters":[],"variables":[]},{"name":"initGrid","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":11045,"end":11463,"decorators":[],"parameters":[],"variables":[]},{"name":"applyConfigurators","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":11467,"end":11676,"decorators":[],"parameters":[],"variables":[{"name":"configurators","isConst":false,"isExported":false,"start":11508,"end":11579}]},{"name":"initDefaultColDef","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":11680,"end":11799,"decorators":[],"parameters":[],"variables":[]},{"name":"initDefaultSortModel","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":11803,"end":12338,"decorators":[],"parameters":[],"variables":[{"name":"columnSorts","isConst":false,"isExported":false,"type":"ColumnSort[]","start":11848,"end":11902},{"name":"columns","isConst":false,"isExported":false,"start":11907,"end":11939}]},{"name":"getColumns","isAbstract":false,"visibility":1,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":12342,"end":12421,"decorators":[],"parameters":[],"variables":[]},{"name":"getColumnSorts","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":12425,"end":12505,"decorators":[],"parameters":[],"variables":[]},{"name":"defaultSortingIsPossible","isAbstract":false,"visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":12509,"end":12954,"decorators":[],"parameters":[{"name":"columnSorts","type":"ColumnSort[]","start":12544,"end":12569},{"name":"columns","start":12571,"end":12578}],"variables":[{"name":"columnSortFieldName","isConst":false,"isExported":false,"start":12725,"end":12792}]},{"name":"getColumnsScript","isAbstract":false,"visibility":1,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":12958,"end":13037,"decorators":[],"parameters":[],"variables":[]},{"name":"initColumnDefs","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":13041,"end":13340,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"start":13080,"end":13126},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":13238,"end":13299}]},{"name":"columnToColumnDef","isAbstract":false,"visibility":1,"type":"ColDef","isOptional":false,"isStatic":false,"isAsync":false,"start":13344,"end":17251,"decorators":[],"parameters":[{"name":"column","type":"any","start":13372,"end":13383}],"variables":[{"name":"columnDef","isConst":true,"isExported":false,"type":"ColDef","start":13399,"end":13428},{"name":"type","isConst":false,"isExported":false,"start":14910,"end":14939},{"name":"filterMoment","isConst":false,"isExported":false,"type":"Moment","start":15433,"end":15576},{"name":"cellMoment","isConst":false,"isExported":false,"type":"Moment","start":15593,"end":15661},{"name":"renderer","isConst":true,"isExported":false,"type":"ICellRendererFunc","start":16623,"end":16703}]},{"name":"createRenderer","isAbstract":false,"visibility":1,"type":"(params: ICellRendererParams) => HTMLElement | string","isOptional":false,"isStatic":false,"isAsync":false,"start":17255,"end":17774,"decorators":[],"parameters":[{"name":"column","type":"any","start":17280,"end":17291}],"variables":[{"name":"type","isConst":false,"isExported":false,"start":17354,"end":17383},{"name":"renderer","isConst":false,"isExported":false,"type":"GridCellValueRenderer","start":17388,"end":17622}]},{"name":"initRowNumberConfiguration","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":17778,"end":17985,"decorators":[],"parameters":[],"variables":[{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":17878,"end":17941}]},{"name":"initSelectableConfiguration","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":17989,"end":18306,"decorators":[],"parameters":[],"variables":[{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":18180,"end":18262}]},{"name":"initPinnedBottomRowData","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":18310,"end":18755,"decorators":[],"parameters":[],"variables":[{"name":"pinnedBottomRow","isConst":false,"isExported":false,"start":18427,"end":18452},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":18529,"end":18595}]},{"name":"initRowClasses","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":18759,"end":19224,"decorators":[],"parameters":[],"variables":[]},{"name":"onGridReady","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":19228,"end":20253,"decorators":[],"parameters":[{"name":"event","type":"GridReadyEvent","start":19247,"end":19268}],"variables":[{"name":"allRowNodesToUpdate","isConst":false,"isExported":false,"start":19528,"end":19556},{"name":"transaction","isConst":false,"isExported":false,"start":19604,"end":19655},{"name":"rowsToUpdate","isConst":false,"isExported":false,"start":19662,"end":19725}]},{"name":"autoStretchColumnsIfNeeded","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":20257,"end":20386,"decorators":[],"parameters":[],"variables":[]},{"name":"destroy","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":20391,"end":20747,"decorators":[],"parameters":[],"variables":[]},{"name":"setDisabledByParent","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":20751,"end":20916,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":20771,"end":20785}],"variables":[]},{"name":"onBodyScroll","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":20920,"end":20975,"decorators":[],"parameters":[{"name":"event","type":"BodyScrollEvent","start":20940,"end":20962}],"variables":[]},{"name":"getSelectedRows","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":20979,"end":21085,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getSelectedRowsIds","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":21089,"end":21201,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getSelectedRow","isAbstract":false,"visibility":2,"type":"any | null","isOptional":false,"isStatic":false,"isAsync":false,"start":21205,"end":21314,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getSelectedRowId","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":21318,"end":21450,"decorators":[{"name":"Visible","parameters":[]},{"name":"ExcludeTypeFiltering","parameters":[]}],"parameters":[],"variables":[]},{"name":"getSelectedRowCellValue","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":21454,"end":21778,"decorators":[{"name":"Visible","parameters":[]},{"name":"ExcludeTypeFiltering","parameters":[]}],"parameters":[{"name":"columnOrderNum","type":"number","start":21524,"end":21546}],"variables":[{"name":"selectedRow","isConst":false,"isExported":false,"start":21559,"end":21599},{"name":"colDefIndex","isConst":false,"isExported":false,"start":21604,"end":21658},{"name":"colName","isConst":false,"isExported":false,"start":21663,"end":21712}]},{"name":"getColDefIndex","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":21782,"end":22142,"decorators":[],"parameters":[{"name":"columnOrderNum","type":"number","start":21805,"end":21827}],"variables":[{"name":"colDefIndex","isConst":false,"isExported":false,"start":21835,"end":21872}]},{"name":"getSelectedRowCount","isAbstract":false,"visibility":2,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":22146,"end":22261,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"setMultiselectable","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22265,"end":22435,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"boolean","start":22304,"end":22318}],"variables":[]},{"name":"selectRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22439,"end":22534,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"id","type":"any","start":22469,"end":22476}],"variables":[]},{"name":"selectRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22538,"end":22639,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"ids","type":"any[]","start":22569,"end":22579}],"variables":[]},{"name":"deselectRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22643,"end":22742,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"id","type":"any","start":22675,"end":22682}],"variables":[]},{"name":"deselectRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22746,"end":22851,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"ids","type":"any[]","start":22779,"end":22789}],"variables":[]},{"name":"selectAll","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22855,"end":22941,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"deselectAll","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":22945,"end":23035,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"isRowSelectableFunc","isAbstract":false,"visibility":2,"type":"Function","isOptional":false,"isStatic":false,"isAsync":false,"start":23039,"end":23148,"decorators":[],"parameters":[],"variables":[]},{"name":"isRowSelectable","isAbstract":false,"visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23152,"end":23287,"decorators":[],"parameters":[{"name":"rowNode","type":"IRowNode","start":23178,"end":23195}],"variables":[]},{"name":"isRowMultiSelectWithClick","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23291,"end":23428,"decorators":[],"parameters":[],"variables":[]},{"name":"isSuppressRowClickSelection","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23432,"end":23574,"decorators":[],"parameters":[],"variables":[]},{"name":"isSuppressOverlay","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23578,"end":23694,"decorators":[],"parameters":[],"variables":[]},{"name":"isSuppressLoadingOverlay","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23698,"end":23783,"decorators":[],"parameters":[],"variables":[]},{"name":"isSuppressNoRowsOverlay","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":23787,"end":23871,"decorators":[],"parameters":[],"variables":[]},{"name":"getAllRows","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":23875,"end":23932,"decorators":[],"parameters":[],"variables":[]},{"name":"addRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":23936,"end":24036,"decorators":[],"parameters":[{"name":"rows","type":"any[]","start":23951,"end":23962}],"variables":[]},{"name":"addRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24040,"end":24100,"decorators":[],"parameters":[{"name":"row","type":"any","start":24054,"end":24062}],"variables":[]},{"name":"updateRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24104,"end":24207,"decorators":[],"parameters":[{"name":"rows","type":"any[]","start":24122,"end":24133}],"variables":[]},{"name":"updateRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24211,"end":24277,"decorators":[],"parameters":[{"name":"row","type":"any","start":24228,"end":24236}],"variables":[]},{"name":"removeRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24281,"end":24384,"decorators":[],"parameters":[{"name":"rows","type":"any[]","start":24299,"end":24310}],"variables":[]},{"name":"removeRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24388,"end":24454,"decorators":[],"parameters":[{"name":"row","type":"any","start":24405,"end":24413}],"variables":[]},{"name":"reload","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24458,"end":24502,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":24472,"end":24489}],"variables":[]},{"name":"addOnGridReadyCallback","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24506,"end":24613,"decorators":[],"parameters":[{"name":"callback","type":"Function","start":24536,"end":24554}],"variables":[]},{"name":"addCellClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24617,"end":24733,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":24645,"end":24663}],"variables":[]},{"name":"removeCellClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24737,"end":24859,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":24768,"end":24786}],"variables":[]},{"name":"addRowClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24863,"end":24977,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":24890,"end":24908}],"variables":[]},{"name":"removeRowClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":24981,"end":25101,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":25011,"end":25029}],"variables":[]},{"name":"addRowDoubleClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":25105,"end":25231,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":25138,"end":25156}],"variables":[]},{"name":"removeRowDoubleClickListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":25235,"end":25367,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":25271,"end":25289}],"variables":[]},{"name":"onSelectionChanged","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":25371,"end":25566,"decorators":[],"parameters":[{"name":"event","type":"SelectionChangedEvent","start":25397,"end":25425}],"variables":[]},{"name":"getSelectValue","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":25570,"end":25683,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getSelectValues","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":25687,"end":25805,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"addSelectListener","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":25809,"end":25918,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":25834,"end":25852}],"variables":[]},{"name":"removeSelectListener","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":25922,"end":26037,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":25950,"end":25968}],"variables":[]},{"name":"isMultiselectable","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":26041,"end":26115,"decorators":[],"parameters":[],"variables":[]},{"name":"getDependValue","isAbstract":false,"visibility":2,"type":"Deferred","isOptional":false,"isStatic":false,"isAsync":false,"start":26119,"end":26196,"decorators":[],"parameters":[],"variables":[]},{"name":"addPostLoadListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":26200,"end":26330,"decorators":[],"parameters":[{"name":"onLoadedFunction","type":"Function","start":26227,"end":26253}],"variables":[]},{"name":"removePostLoadListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":26334,"end":26470,"decorators":[],"parameters":[{"name":"onLoadedFunction","type":"Function","start":26364,"end":26390}],"variables":[]},{"name":"onLoadStart","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":26474,"end":26681,"decorators":[],"parameters":[],"variables":[]},{"name":"onLoadEnd","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":26685,"end":27237,"decorators":[],"parameters":[],"variables":[{"name":"rows","isConst":false,"isExported":false,"start":26940,"end":26964}]},{"name":"applyDefaultSortModel","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":27241,"end":27773,"decorators":[],"parameters":[],"variables":[{"name":"indexByColumns","isConst":false,"isExported":false,"start":27336,"end":27394},{"name":"field","isConst":false,"isExported":false,"start":27453,"end":27490}]},{"name":"getDefaultSortsIndexByColumns","isAbstract":false,"visibility":1,"type":"Map","isOptional":false,"isStatic":false,"isAsync":false,"start":27777,"end":28075,"decorators":[],"parameters":[],"variables":[{"name":"defaultSortColumns","isConst":false,"isExported":false,"start":27846,"end":27906},{"name":"indexByColumns","isConst":false,"isExported":false,"start":27911,"end":27958}]},{"name":"onLoadError","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28079,"end":28290,"decorators":[],"parameters":[{"name":"reason","type":"any","start":28098,"end":28109}],"variables":[]},{"name":"onCellClicked","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28294,"end":28445,"decorators":[],"parameters":[{"name":"event","type":"CellClickedEvent","start":28315,"end":28338}],"variables":[]},{"name":"fireCellClickedEvent","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28449,"end":28624,"decorators":[],"parameters":[{"name":"event","type":"CellClickedEvent","start":28480,"end":28503}],"variables":[]},{"name":"onRowClicked","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28628,"end":28776,"decorators":[],"parameters":[{"name":"event","type":"RowClickedEvent","start":28648,"end":28670}],"variables":[]},{"name":"fireRowClickedEvent","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28780,"end":28961,"decorators":[],"parameters":[{"name":"event","type":"RowClickedEvent","start":28810,"end":28832}],"variables":[]},{"name":"onRowDoubleClicked","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":28965,"end":29131,"decorators":[],"parameters":[{"name":"event","type":"RowDoubleClickedEvent","start":28991,"end":29019}],"variables":[]},{"name":"fireRowDoubleClickedEvent","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":29135,"end":29340,"decorators":[],"parameters":[{"name":"event","type":"RowDoubleClickedEvent","start":29171,"end":29199}],"variables":[]},{"name":"onSortChanged","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":29344,"end":29452,"decorators":[],"parameters":[{"name":"event","type":"SortChangedEvent","start":29365,"end":29388}],"variables":[]},{"name":"addSortChangedListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":29456,"end":29602,"decorators":[],"parameters":[{"name":"onSortChangedFunction","type":"Function","start":29486,"end":29517}],"variables":[]},{"name":"removeSortChangedListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":29606,"end":29758,"decorators":[],"parameters":[{"name":"onSortChangedFunction","type":"Function","start":29639,"end":29670}],"variables":[]},{"name":"getColumnIdsToExport","isAbstract":false,"visibility":2,"type":"string[]","isOptional":false,"isStatic":false,"isAsync":false,"start":29762,"end":29821,"decorators":[],"parameters":[],"variables":[]},{"name":"getSortInfo","isAbstract":false,"visibility":2,"type":"SortInfo[]","isOptional":false,"isStatic":false,"isAsync":false,"start":29825,"end":31011,"decorators":[],"parameters":[],"variables":[{"name":"currentSortStateEqualDefault","isConst":false,"isExported":false,"start":29969,"end":30093},{"name":"localStorageColState","isConst":false,"isExported":false,"type":"ColumnState[]","start":30098,"end":30178},{"name":"sortInfo","isConst":false,"isExported":false,"type":"SortInfo","start":30362,"end":30402},{"name":"column","isConst":false,"isExported":false,"start":30411,"end":30465},{"name":"sortInfo","isConst":false,"isExported":false,"type":"SortInfo","start":30770,"end":30810}]},{"name":"onColumnMoved","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":31015,"end":31123,"decorators":[],"parameters":[{"name":"event","type":"ColumnMovedEvent","start":31036,"end":31059}],"variables":[]},{"name":"addColumnMovedListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":31127,"end":31273,"decorators":[],"parameters":[{"name":"onColumnMovedFunction","type":"Function","start":31157,"end":31188}],"variables":[]},{"name":"removeColumnMovedListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":31277,"end":31429,"decorators":[],"parameters":[{"name":"onColumnMovedFunction","type":"Function","start":31310,"end":31341}],"variables":[]},{"name":"getRowIdFunc","isAbstract":false,"visibility":2,"type":"GetRowIdFunc","isOptional":false,"isStatic":false,"isAsync":false,"start":31433,"end":31553,"decorators":[],"parameters":[],"variables":[]},{"name":"getDisplayedRowCount","isAbstract":false,"visibility":2,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":31557,"end":31683,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"setRowHeight","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":31687,"end":31789,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"number","start":31713,"end":31726}],"variables":[]},{"name":"setHeaderHeight","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":31793,"end":31901,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"number","start":31822,"end":31835}],"variables":[]},{"name":"setRowSelection","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":31905,"end":32000,"decorators":[],"parameters":[{"name":"value","type":"string","start":31921,"end":31934}],"variables":[]},{"name":"setDatasource","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":32004,"end":32105,"decorators":[],"parameters":[{"name":"value","type":"WebbpmDatasource","start":32018,"end":32041}],"variables":[]},{"name":"setBlockSize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":32109,"end":32198,"decorators":[],"parameters":[{"name":"value","type":"number","start":32122,"end":32135}],"variables":[]},{"name":"setAutoStretchColumns","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":32202,"end":32361,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":32224,"end":32238}],"variables":[]},{"name":"showColumn","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":32365,"end":32480,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"columnOrderNum","type":"number","start":32396,"end":32418}],"variables":[]},{"name":"hideColumn","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":32484,"end":32600,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"columnOrderNum","type":"number","start":32515,"end":32537}],"variables":[]},{"name":"isColumnVisible","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":32604,"end":32853,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"columnOrderNum","type":"number","start":32640,"end":32662}],"variables":[{"name":"colDefIndex","isConst":false,"isExported":false,"start":32679,"end":32733},{"name":"columnKey","isConst":false,"isExported":false,"start":32738,"end":32789}]},{"name":"setColumnVisible","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":32857,"end":33106,"decorators":[],"parameters":[{"name":"columnOrderNum","type":"number","start":32882,"end":32904},{"name":"visible","type":"boolean","start":32906,"end":32922}],"variables":[{"name":"colDefIndex","isConst":false,"isExported":false,"start":32936,"end":32990},{"name":"columnKey","isConst":false,"isExported":false,"start":32995,"end":33046}]},{"name":"getContextMenuItemsFunc","isAbstract":false,"visibility":2,"type":"Function","isOptional":false,"isStatic":false,"isAsync":false,"start":33110,"end":33242,"decorators":[],"parameters":[],"variables":[]},{"name":"getContextMenuItems","isAbstract":false,"visibility":1,"type":"(string | MenuItemDef)[]","isOptional":false,"isStatic":false,"isAsync":false,"start":33246,"end":33473,"decorators":[],"parameters":[{"name":"params","type":"GetContextMenuItemsParams","start":33276,"end":33309}],"variables":[]},{"name":"processCellForClipboard","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":33477,"end":33618,"decorators":[],"parameters":[{"name":"params","type":"ProcessCellForExportParams","start":33508,"end":33542}],"variables":[]},{"name":"isInitialized","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":33622,"end":33688,"decorators":[],"parameters":[],"variables":[]},{"name":"setValue","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":33692,"end":34697,"decorators":[],"parameters":[{"name":"rowData","start":33701,"end":33708}],"variables":[{"name":"clientSideSortState","isConst":false,"isExported":false,"type":"any","start":33716,"end":33752},{"name":"rows","isConst":false,"isExported":false,"type":"GridRow[]","start":34300,"end":34350},{"name":"column","isConst":false,"isExported":false,"start":34560,"end":34605}]},{"name":"getLoadingOverlayTemplate","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":34701,"end":34876,"decorators":[],"parameters":[],"variables":[]},{"name":"getNoRowsOverlayTemplate","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":34880,"end":35052,"decorators":[],"parameters":[],"variables":[]},{"name":"getGridConfigurationStorage","isAbstract":false,"visibility":2,"type":"PageObjectByIdStorage","isOptional":false,"isStatic":false,"isAsync":false,"start":35056,"end":35161,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":35165,"end":35381,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":35385,"end":35609,"decorators":[],"parameters":[],"variables":[]},{"name":"openConfigurationDialog","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":35613,"end":36540,"decorators":[],"parameters":[],"variables":[{"name":"configurationDialog","isConst":false,"isExported":false,"start":35652,"end":35730}]},{"name":"onColumnResized","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":36544,"end":36658,"decorators":[],"parameters":[{"name":"event","type":"ColumnResizedEvent","start":36567,"end":36592}],"variables":[]},{"name":"addColumnResized","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":36662,"end":36808,"decorators":[],"parameters":[{"name":"onColumnResizedFunction","type":"Function","start":36686,"end":36719}],"variables":[]},{"name":"removeColumnResized","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":36812,"end":36964,"decorators":[],"parameters":[{"name":"onColumnResizedFunction","type":"Function","start":36839,"end":36872}],"variables":[]},{"name":"onColumnVisibilityChanged","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":36968,"end":37102,"decorators":[],"parameters":[{"name":"event","type":"ColumnVisibleEvent","start":37001,"end":37026}],"variables":[]},{"name":"addColumnVisibilityChanged","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":37106,"end":37278,"decorators":[],"parameters":[{"name":"onColumnVisibilityFunction","type":"Function","start":37140,"end":37176}],"variables":[]},{"name":"removeColumnVisibilityChanged","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":37282,"end":37460,"decorators":[],"parameters":[{"name":"onColumnVisibilityFunction","type":"Function","start":37319,"end":37355}],"variables":[]},{"name":"loadingEnabled","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":37464,"end":37519,"decorators":[],"parameters":[],"variables":[]},{"name":"getColumnCells","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":37523,"end":37783,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"columnOrderNum","type":"number","start":37558,"end":37580}],"variables":[{"name":"rows","isConst":false,"isExported":false,"start":37595,"end":37624},{"name":"colDefIndex","isConst":false,"isExported":false,"start":37629,"end":37683},{"name":"colName","isConst":false,"isExported":false,"start":37688,"end":37737}]},{"name":"getColumnStateFromLocalStorage","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":37787,"end":38083,"decorators":[],"parameters":[],"variables":[{"name":"configuration","isConst":false,"isExported":false,"start":37871,"end":37936}]},{"name":"applyColumnStateFromLocalStorage","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":38087,"end":38317,"decorators":[],"parameters":[],"variables":[{"name":"columnState","isConst":false,"isExported":false,"start":38172,"end":38228}]},{"name":"componentStateChanged","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":38321,"end":38549,"decorators":[],"parameters":[{"name":"$event","type":"ComponentStateChangedEvent","start":38343,"end":38377}],"variables":[]},{"name":"getAllLoadedRowIds","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":38553,"end":38927,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[{"name":"rowModelType","isConst":false,"isExported":false,"start":38607,"end":38649}]}],"extendsClauses":["Control"],"implementsClauses":["SelectableComponent"],"ctor":{"name":"BaseGrid","start":8146,"end":8337,"parameters":[{"name":"el","type":"ElementRef","start":8158,"end":8172},{"name":"cd","type":"ChangeDetectorRef","start":8174,"end":8195}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","window","RussianLocale","diff","RowDataTransaction","transaction","rowNodesToUpdate","rowNodes","force","Promise","NgbModal","a","b","localStorageService","LocalStorageService","gridConfiguration","GridColumnStateUtils","PageObjectByIdStorage","grid","$","event","GridSelectionService","GridNavigationService","GridCellTooltipUtils","GridApi","ColumnApi","configurators","configurator","GridConfigurator","resizable","sortable","columnSorts","ColumnSort","columns","columnSort","GridUtils","SortOrder","columnSortFieldName","column","GridColumns","columnDef","ColDef","GridColumnDefUtils","GridSettingHeader","PinnedType","GridDisplayType","params","type","GridColumnFilterUtils","comparator","filterLocalDateAtMidnight","cellValue","filterMoment","Moment","moment","cellMoment","DateTimeUtil","browserDatePicker","GridColumnComparatorUtils","GridValueFormatterUtils","SuppressKeyboardEventParams","GridColumnKeyboardUtils","renderer","ICellRendererFunc","GridValueRendererUtils","DefaultTooltip","ICellRendererParams","HTMLElement","GridCellValueRenderer","undefined","pinnedBottomRow","GridReadyEvent","allRowNodesToUpdate","t","rowsToUpdate","Events","cb","Function","value","BodyScrollEvent","Visible","ExcludeTypeFiltering","columnOrderNum","selectedRow","colDefIndex","colName","id","ids","rowNode","IRowNode","GridRowClickSelectionType","GridLoadingOverlayType","rows","add","remove","update","row","filters","Filter","callback","listener","SelectionChangedEvent","Deferred","onLoadedFunction","indexByColumns","field","Map","defaultSortColumns","Object","index","reason","CellClickedEvent","RowClickedEvent","RowDoubleClickedEvent","SortChangedEvent","onSortChangedFunction","SortInfo","currentSortStateEqualDefault","col","localStorageColState","ColumnState","colState","sortInfo","ColumnMovedEvent","onColumnMovedFunction","GetRowIdFunc","GetRowIdParams","GridColumnIdUtils","WebbpmDatasource","columnKey","visible","GetContextMenuItemsParams","MenuItemDef","contextMenu","item","ProcessCellForExportParams","rowData","clientSideSortState","GridRowModelType","GridRow","colId","sortOrder","configurationDialog","GridConfiguratorDialogComponent","result","state","applyOrder","ColumnResizedEvent","onColumnResizedFunction","ColumnVisibleEvent","onColumnVisibilityFunction","configuration","columnState","$event","ComponentStateChangedEvent","rowModelType","UnsupportedOperationError","Control","SelectableComponent","Input","AdvancedProperty","headerHeight","rowHeight","rowSelection","rowClassRules","datasource","maxConcurrentDatasourceRequests","blockLoadDebounceMillis","blockSize","columnDefs","defaultColDef","pinnedBottomRowData","suppressColumnTooltip","autoStretchColumns","loadingOverlayType","loadingOverlayMessage","noRowsOverlayMessage","theme","GridTheme","gridLoaded","Event","NotNull","multiselectable","checkboxColumn","checkboxHeader","pinnedBottomRowLabel","rowClickSelectionType","selectionChangeEvent","cellClickEvent","rowClickEvent","rowDoubleClickEvent","showRowNumber","floatingFilter","localeText","allowContextMenuWithControlKey","saveColumnState","gridConfigurationRowHeight","tooltipDelay","enableCellTextSelection","gridApi","columnApi","cellClickListeners","rowClickListeners","rowDoubleClickListeners","postLoadListeners","columnVisibilityChangedListeners","columnResizedListeners","columnMovedListeners","sortChangedListeners","onGridReadyCallbacks","gridSelectionService","gridNavigationService","autoStretchColumnsListener","destroyCalled","defaultSortModel","tempRowData","tempTransactions","initDeferred","initialized","dependDeferred","rowSelectable","IsRowSelectable","contextMenuItems","GridContextMenuItem","ngbModal","gridConfigurationCache","data"],"packageName":"component"},{"rootPath":"/","start":0,"end":3027,"imports":[{"libraryName":"component","start":0,"end":36,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"@angular/common/http","start":37,"end":85,"specifiers":[{"specifier":"HttpClient"}]},{"libraryName":"modules.bpmn.provider","start":86,"end":165,"specifiers":[{"specifier":"TaskParamsProvider"}]},{"libraryName":"modules.core.service","start":166,"end":260,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"@angular/core","start":261,"end":300,"specifiers":[{"specifier":"Injector"}]},{"libraryName":"common","start":301,"end":357,"specifiers":[{"specifier":"PromiseWrapper"}]},{"libraryName":"common","start":358,"end":413,"specifiers":[{"specifier":"rejectMessage"}]}],"exports":[],"declarations":[],"classes":[{"name":"BaseRpcService","isExported":true,"start":415,"end":3026,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"httpClient","visibility":1,"type":"HttpClient","isOptional":false,"isStatic":false,"start":473,"end":506,"decorators":[]},{"name":"taskParamsProvider","visibility":1,"type":"TaskParamsProvider","isOptional":false,"isStatic":false,"start":509,"end":558,"decorators":[]},{"name":"progressIndicationService","visibility":1,"type":"ProgressIndicationService","isOptional":false,"isStatic":false,"start":561,"end":624,"decorators":[]},{"name":"sharedContext","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":627,"end":653,"decorators":[]},{"name":"promisesToRejectOnDestroyOrReset","visibility":0,"type":"PromiseWrapper[]","isOptional":false,"isStatic":false,"start":656,"end":725,"decorators":[]}],"methods":[{"name":"wrapPromise","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1068,"end":1321,"decorators":[],"parameters":[{"name":"promise","type":"Promise","start":1080,"end":1101}],"variables":[{"name":"promiseWrapper","isConst":false,"isExported":false,"start":1123,"end":1170},{"name":"returnedPromise","isConst":false,"isExported":false,"start":1175,"end":1226}]},{"name":"getSharedContext","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1325,"end":1385,"decorators":[],"parameters":[],"variables":[]},{"name":"getSharedProperty","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1389,"end":1481,"decorators":[],"parameters":[{"name":"propName","type":"string","start":1407,"end":1423}],"variables":[]},{"name":"reset","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1485,"end":1543,"decorators":[],"parameters":[],"variables":[]},{"name":"doRequest","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1547,"end":2316,"decorators":[],"parameters":[{"name":"serviceName","type":"string","start":1560,"end":1579},{"name":"methodName","type":"string","start":1581,"end":1599},{"name":"argTypes","type":"string[]","start":1601,"end":1619},{"name":"args","type":"any[]","start":1621,"end":1632},{"name":"showProgressBar","type":"boolean","start":1649,"end":1674}],"variables":[{"name":"postObj","isConst":false,"isExported":false,"start":1746,"end":1875},{"name":"url","isConst":false,"isExported":false,"start":1979,"end":2090}]},{"name":"prepareArg","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2320,"end":2409,"decorators":[],"parameters":[{"name":"arg","type":"any","start":2331,"end":2339}],"variables":[]},{"name":"destroy","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":2413,"end":2475,"decorators":[],"parameters":[],"variables":[]},{"name":"getRequestAdditionalProps","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":2479,"end":2755,"decorators":[],"parameters":[],"variables":[]},{"name":"promiseReject","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":2877,"end":3024,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":[],"ctor":{"name":"BaseRpcService","start":729,"end":1064,"parameters":[{"name":"pageId","type":"string","start":741,"end":756},{"name":"objectId","type":"string","start":758,"end":775},{"name":"injector","type":"Injector","start":777,"end":796},{"name":"interfaces","type":"any[]","start":798,"end":816}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["pageId","objectId","injector","Injector","interfaces","HttpClient","TaskParamsProvider","ProgressIndicationService","promise","Promise","promiseWrapper","PromiseWrapper","returnedPromise","propName","T","serviceName","methodName","argTypes","args","showProgressBar","arg","postObj","url","JSON","taskInstanceId","processInstanceId","undefined","rejectMessage","Behavior","httpClient","taskParamsProvider","progressIndicationService","sharedContext","promisesToRejectOnDestroyOrReset"],"packageName":"component"},{"rootPath":"/","start":0,"end":976,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":89,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"fakeAsync"},{"specifier":"flush"},{"specifier":"TestBed"}]},{"libraryName":"@angular/forms","start":90,"end":133,"specifiers":[{"specifier":"FormsModule"}]},{"libraryName":"...testing","start":134,"end":182,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"component","start":183,"end":211,"specifiers":[{"specifier":"Text"}]},{"libraryName":"pipe","start":212,"end":271,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":272,"end":325,"specifiers":[{"specifier":"NgbModule"}]}],"exports":[],"declarations":[{"name":"component","isConst":false,"isExported":false,"type":"Text","start":358,"end":378},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":381,"end":417}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["describe","component","Text","fixture","ComponentFixture","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","imports","NgbModule","fakeAsync","flush","it","expect"],"packageName":"component"},{"rootPath":"/","start":0,"end":6518,"imports":[{"libraryName":"@angular/core","start":0,"end":39,"specifiers":[{"specifier":"Injector"}]},{"libraryName":"decorators","start":40,"end":86,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"webbpm.event","start":87,"end":131,"specifiers":[{"specifier":"Event"}]},{"libraryName":"modules.page.model","start":132,"end":217,"specifiers":[{"specifier":"ObjRefInitializerBean"}]},{"libraryName":"component","start":218,"end":256,"specifiers":[{"specifier":"IBehavior"}]},{"libraryName":"util","start":257,"end":303,"specifiers":[{"specifier":"ScriptUtil"}]}],"exports":[],"declarations":[],"classes":[{"name":"Behavior","isExported":true,"start":305,"end":6517,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"injector","visibility":1,"type":"Injector","isOptional":false,"isStatic":false,"start":351,"end":380,"decorators":[]},{"name":"objectId","visibility":1,"type":"string","isOptional":false,"isStatic":false,"start":384,"end":411,"decorators":[]},{"name":"interfaces","visibility":1,"type":"any[]","isOptional":false,"isStatic":false,"start":415,"end":443,"decorators":[]},{"name":"pageId","visibility":1,"type":"string","isOptional":false,"isStatic":false,"start":447,"end":472,"decorators":[]},{"name":"refInitiated","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":476,"end":514,"decorators":[]},{"name":"instantiated","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":518,"end":575,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"context","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":579,"end":619,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"beforeStart","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":675,"end":763,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"objRefInitializers","visibility":1,"type":"ObjRefInitializerBean[]","isOptional":false,"isStatic":false,"start":767,"end":826,"decorators":[]},{"name":"componentScript","visibility":1,"type":"any","isOptional":false,"isStatic":false,"start":830,"end":861,"decorators":[]},{"name":"scripts","visibility":1,"type":"Behavior[]","isOptional":false,"isStatic":false,"start":865,"end":900,"decorators":[]}],"methods":[{"name":"preInitialize","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1140,"end":1198,"decorators":[],"parameters":[],"variables":[]},{"name":"initialize","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1471,"end":1502,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1636,"end":1667,"decorators":[],"parameters":[],"variables":[]},{"name":"start","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1770,"end":1832,"decorators":[],"parameters":[],"variables":[]},{"name":"postStart","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1933,"end":1963,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1967,"end":1994,"decorators":[],"parameters":[],"variables":[]},{"name":"reset","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1998,"end":2017,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectName","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2096,"end":2231,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectDescription","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2322,"end":2395,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectPath","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2399,"end":2841,"decorators":[],"parameters":[{"name":"relativeParent","type":"any","start":2413,"end":2432}],"variables":[{"name":"path","isConst":false,"isExported":false,"start":2448,"end":2576},{"name":"parentContext","isConst":false,"isExported":false,"start":2581,"end":2625}]},{"name":"getPrototypeId","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2902,"end":3049,"decorators":[],"parameters":[],"variables":[]},{"name":"getComponentRootId","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":3111,"end":3257,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectNameAttr","isAbstract":false,"visibility":0,"type":"string","isOptional":false,"isStatic":true,"isAsync":false,"start":3261,"end":3414,"decorators":[],"parameters":[{"name":"context","type":"any","start":3294,"end":3306},{"name":"attributeName","type":"string","start":3308,"end":3329}],"variables":[]},{"name":"getScriptInChildren","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":3557,"end":3673,"decorators":[],"parameters":[{"name":"_class","type":"any","start":3577,"end":3588}],"variables":[]},{"name":"getScriptsInChildren","isAbstract":false,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":3823,"end":3943,"decorators":[],"parameters":[{"name":"_class","type":"any","start":3844,"end":3855}],"variables":[]},{"name":"getChildScripts","isAbstract":false,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":4113,"end":4223,"decorators":[],"parameters":[{"name":"_class","type":"any","start":4129,"end":4140}],"variables":[]},{"name":"getScript","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":4365,"end":4453,"decorators":[],"parameters":[{"name":"_class","type":"any","start":4375,"end":4386}],"variables":[]},{"name":"getScripts","isAbstract":false,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":4590,"end":4825,"decorators":[],"parameters":[{"name":"_class","type":"any","start":4601,"end":4612}],"variables":[{"name":"result","isConst":false,"isExported":false,"start":4627,"end":4643},{"name":"found","isConst":false,"isExported":false,"start":4689,"end":4741}]},{"name":"getChildComponents","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":4829,"end":4935,"decorators":[],"parameters":[],"variables":[]},{"name":"getScriptInObject","isAbstract":false,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":5106,"end":5226,"decorators":[],"parameters":[{"name":"objectId","type":"string","start":5124,"end":5140},{"name":"_class","type":"any","start":5142,"end":5153}],"variables":[]},{"name":"getPageId","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":5297,"end":5346,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectId","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":5440,"end":5493,"decorators":[],"parameters":[],"variables":[]},{"name":"getContext","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":5566,"end":5621,"decorators":[],"parameters":[],"variables":[]},{"name":"getParentContext","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":5625,"end":5705,"decorators":[],"parameters":[],"variables":[]},{"name":"implementsInterface","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":5709,"end":5814,"decorators":[],"parameters":[{"name":"_interface","type":"string","start":5736,"end":5754}],"variables":[]},{"name":"destroy","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":5818,"end":5865,"decorators":[],"parameters":[],"variables":[]},{"name":"initObjRefs","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":5869,"end":6251,"decorators":[],"parameters":[],"variables":[]},{"name":"setComponentScript","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":6255,"end":6332,"decorators":[],"parameters":[{"name":"script","type":"Behavior","start":6274,"end":6290}],"variables":[]},{"name":"markForCheck","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":6336,"end":6389,"decorators":[],"parameters":[],"variables":[]},{"name":"setObjRefInitializers","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":6393,"end":6515,"decorators":[],"parameters":[{"name":"objRefInitializers","type":"ObjRefInitializerBean[]","start":6415,"end":6458}],"variables":[]}],"extendsClauses":[],"implementsClauses":["IBehavior"],"ctor":{"name":"Behavior","start":904,"end":1136,"parameters":[{"name":"pageId","type":"string","start":916,"end":931},{"name":"objectId","type":"string","start":933,"end":950},{"name":"injector","type":"Injector","start":952,"end":971},{"name":"interfaces","type":"any[]","start":973,"end":991}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["pageId","objectId","injector","Injector","interfaces","returns","relativeParent","path","Behavior","parentContext","context","attributeName","param","_class","ScriptUtil","result","script","found","_interface","initializer","ObjRefInitializerBean","e","console","objRefInitializers","IBehavior","refInitiated","Visible","instantiated","beforeStart","Event","componentScript","scripts"],"packageName":"component"},{"rootPath":"/","start":0,"end":955,"imports":[{"libraryName":"@angular/core","start":0,"end":65,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]},{"libraryName":"@angular/common/http","start":66,"end":114,"specifiers":[{"specifier":"HttpClient"}]},{"libraryName":"component.button","start":115,"end":154,"specifiers":[{"specifier":"Button"}]}],"exports":[],"declarations":[],"classes":[{"name":"ClearSecurityCacheBtn","isExported":true,"start":156,"end":954,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'clear-security-cache-button',\n templateUrl: './../../../src/resources/template/component/button/Button.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n }"]}],"properties":[{"name":"httpClient","visibility":0,"type":"HttpClient","isOptional":false,"isStatic":false,"start":444,"end":475,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":479,"end":574,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":578,"end":952,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Button"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["HttpClient","Promise","reason","console","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Button","httpClient"],"packageName":"component"},{"rootPath":"/","start":0,"end":110,"imports":[{"libraryName":"component","start":0,"end":38,"specifiers":[{"specifier":"IBehavior"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"Collectible","isExported":true,"start":59,"end":109,"accessors":[],"properties":[],"methods":[],"extendsClauses":["IBehavior"],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["IBehavior"],"packageName":"component"},{"rootPath":"/","start":0,"end":6224,"imports":[{"libraryName":"@angular/core","start":0,"end":36,"specifiers":[{"specifier":"Input"}]},{"libraryName":"component.selectize","start":37,"end":93,"specifiers":[{"specifier":"SelectizeBase"}]},{"libraryName":"model","start":94,"end":159,"specifiers":[{"specifier":"StaticComboBoxModel"}]},{"libraryName":"generated.model","start":160,"end":223,"specifiers":[{"specifier":"ComboBoxModel"}]},{"libraryName":"decorators","start":224,"end":270,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"decorators","start":271,"end":335,"specifiers":[{"specifier":"AdvancedProperty"}]},{"libraryName":"component.selectize.enums","start":336,"end":416,"specifiers":[{"specifier":"SelectizeScrollGravity"}]},{"libraryName":"component.selectize.enums","start":417,"end":505,"specifiers":[{"specifier":"SelectizeDropdownDirection"}]}],"exports":[],"declarations":[],"classes":[{"name":"ComboBoxBase","isExported":true,"start":586,"end":6223,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"initialValue","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":648,"end":687,"decorators":[{"name":"Input","parameters":[]}]},{"name":"value","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":691,"end":732,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"scrollGravity","visibility":2,"type":"SelectizeScrollGravity","isOptional":false,"isStatic":false,"start":736,"end":836,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"dropdownDirection","visibility":2,"type":"SelectizeDropdownDirection","isOptional":false,"isStatic":false,"start":840,"end":949,"decorators":[{"name":"AdvancedProperty","parameters":[]}]},{"name":"internalValue","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":953,"end":1013,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"selectize","visibility":1,"type":"Selectize.IApi","isOptional":false,"isStatic":false,"start":1062,"end":1143,"decorators":[]},{"name":"selectizeFieldName","visibility":1,"type":"string","isOptional":false,"isStatic":false,"start":1146,"end":1190,"decorators":[]},{"name":"selectizeMaxItems","visibility":1,"type":"number","isOptional":false,"isStatic":false,"start":1193,"end":1233,"decorators":[]},{"name":"selectizePlugins","visibility":1,"type":"string[] | IPluginOption[] | { [name: string]: any }","isOptional":false,"isStatic":false,"start":1236,"end":1324,"decorators":[]},{"name":"versioningValidationMessage","visibility":1,"type":"string","isOptional":false,"isStatic":false,"start":1328,"end":1374,"decorators":[]}],"methods":[{"name":"ngAfterViewInit","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1378,"end":1456,"decorators":[],"parameters":[],"variables":[]},{"name":"ngOnDestroy","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1460,"end":1534,"decorators":[],"parameters":[],"variables":[]},{"name":"itemShow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1538,"end":1638,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":1567,"end":1580}],"variables":[]},{"name":"itemHide","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1642,"end":1741,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":1671,"end":1684}],"variables":[]},{"name":"setPlaceholder","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1745,"end":1951,"decorators":[],"parameters":[{"name":"value","type":"string","start":1760,"end":1773}],"variables":[]},{"name":"refreshSelectizeOptions","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":1955,"end":2532,"decorators":[],"parameters":[{"name":"silent","type":"boolean","start":1989,"end":2005}],"variables":[{"name":"options","isConst":true,"isExported":false,"start":2013,"end":2050},{"name":"keys","isConst":false,"isExported":false,"start":2077,"end":2124},{"name":"model","isConst":false,"isExported":false,"start":2179,"end":2223}]},{"name":"setSelectizeValue","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2536,"end":2940,"decorators":[],"parameters":[{"name":"value","type":"any","start":2564,"end":2574}],"variables":[]},{"name":"setSelectizeInvalidValue","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2944,"end":3601,"decorators":[],"parameters":[{"name":"model","type":"any","start":2979,"end":2989}],"variables":[{"name":"value","isConst":false,"isExported":false,"start":3059,"end":3096}]},{"name":"initSelectize","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":3605,"end":5111,"decorators":[],"parameters":[],"variables":[{"name":"self","isConst":false,"isExported":false,"start":3637,"end":3653},{"name":"$select","isConst":false,"isExported":false,"start":3658,"end":3712},{"name":"dropDownLabel","isConst":false,"isExported":false,"start":4763,"end":4844}]},{"name":"getDatasource","isAbstract":true,"visibility":1,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":5115,"end":5157,"decorators":[],"parameters":[],"variables":[]},{"name":"changeItemVisibility","isAbstract":true,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":5161,"end":5239,"decorators":[],"parameters":[{"name":"value","type":"string","start":5201,"end":5214},{"name":"hidden","type":"boolean","start":5216,"end":5231}],"variables":[]},{"name":"onChangeSelectize","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":5404,"end":5669,"decorators":[],"parameters":[{"name":"value","start":5432,"end":5437}],"variables":[{"name":"option","isConst":false,"isExported":false,"type":"any","start":5481,"end":5529}]},{"name":"setEnabled","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5673,"end":5822,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"boolean","start":5697,"end":5711}],"variables":[]},{"name":"setDisabledByParent","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5826,"end":5980,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":5846,"end":5860}],"variables":[]},{"name":"clear","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":5984,"end":6052,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getVersioningValidationMessage","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":6056,"end":6147,"decorators":[],"parameters":[],"variables":[]},{"name":"setInitValue","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":6151,"end":6221,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["SelectizeBase"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["Selectize","IPluginOption","Visible","value","silent","options","keys","Object","i","model","item","self","$select","$","maxItems","placeholder","labelField","searchField","create","closeAfterSelect","blurOnSingleSelect","allowEmptyOption","openOnFocus","valueField","delimiter","highlight","scrollGravity","dropdownDirection","plugins","onChange","onFocus","onBlur","render","escape","option","dropDownLabel","hidden","Promise","undefined","author","SelectizeBase","Input","initialValue","AdvancedProperty","SelectizeScrollGravity","SelectizeDropdownDirection","internalValue","selectize","IApi","StaticComboBoxModel","ComboBoxModel","selectizeFieldName","selectizeMaxItems","selectizePlugins","name","versioningValidationMessage"],"packageName":"component"},{"rootPath":"/","start":0,"end":1227,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":71,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"TestBed"}]},{"libraryName":"@angular/forms","start":72,"end":115,"specifiers":[{"specifier":"FormsModule"}]},{"libraryName":"...testing","start":116,"end":164,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"component","start":165,"end":193,"specifiers":[{"specifier":"Text"}]},{"libraryName":"pipe","start":194,"end":253,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":254,"end":307,"specifiers":[{"specifier":"NgbModule"}]}],"exports":[],"declarations":[{"name":"component","isConst":false,"isExported":false,"type":"Text","start":339,"end":359},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":362,"end":398},{"name":"oldVisibleState","isConst":false,"isExported":false,"start":831,"end":875}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["describe","component","Text","fixture","ComponentFixture","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","imports","NgbModule","it","oldVisibleState","expect"],"packageName":"component"},{"rootPath":"/","start":0,"end":10782,"imports":[{"libraryName":"component","start":0,"end":46,"specifiers":[{"specifier":"BaseComponent"}]},{"libraryName":"@angular/core","start":47,"end":154,"specifiers":[{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"},{"specifier":"HostBinding"},{"specifier":"Input"},{"specifier":"SimpleChanges"}]},{"libraryName":"webbpm.event","start":155,"end":199,"specifiers":[{"specifier":"Event"}]},{"libraryName":"decorators","start":200,"end":246,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"common","start":247,"end":293,"specifiers":[{"specifier":"Focusable"}]},{"libraryName":"decorators","start":294,"end":358,"specifiers":[{"specifier":"AdvancedProperty"}]},{"libraryName":"decorators","start":359,"end":405,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component","start":406,"end":436,"specifiers":[{"specifier":"Style"}]},{"libraryName":"decorators","start":437,"end":497,"specifiers":[{"specifier":"CssClassEditor"}]},{"libraryName":"component","start":498,"end":534,"specifiers":[{"specifier":"IControl"}]}],"exports":[],"declarations":[],"classes":[{"name":"Control","isExported":true,"start":536,"end":10781,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"visible","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":623,"end":678,"decorators":[{"name":"Input","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"disabled","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":682,"end":731,"decorators":[{"name":"Input","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"tooltip","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":735,"end":769,"decorators":[{"name":"Input","parameters":[]}]},{"name":"style","visibility":2,"type":"Style","isOptional":false,"isStatic":false,"start":773,"end":826,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]}]},{"name":"cssClasses","visibility":2,"type":"string[]","isOptional":false,"isStatic":false,"start":830,"end":916,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]},{"name":"CssClassEditor","parameters":[]}]},{"name":"inheritParent","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":920,"end":990,"decorators":[{"name":"AdvancedProperty","parameters":[]},{"name":"Input","parameters":[]}]},{"name":"hidden","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":994,"end":1062,"decorators":[{"name":"Visible","parameters":["false"]},{"name":"HostBinding","parameters":["hidden"]}]},{"name":"focused","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1066,"end":1110,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"cssClassesStr","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":1114,"end":1163,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"visibleChangeEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":1167,"end":1252,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"disableChangeEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":1256,"end":1341,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"focusEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":1345,"end":1422,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"visibleByParent","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1426,"end":1468,"decorators":[]},{"name":"disabledByParent","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1471,"end":1507,"decorators":[]},{"name":"inheritParentByParent","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1510,"end":1558,"decorators":[]},{"name":"focusListeners","visibility":0,"type":"Function[]","isOptional":false,"isStatic":false,"start":1562,"end":1602,"decorators":[]},{"name":"blurListeners","visibility":0,"type":"Function[]","isOptional":false,"isStatic":false,"start":1605,"end":1644,"decorators":[]},{"name":"savedDisabledState","visibility":0,"isOptional":false,"isStatic":false,"start":1647,"end":1674,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1757,"end":2076,"decorators":[],"parameters":[],"variables":[{"name":"nativeCssClasses","isConst":false,"isExported":false,"type":"string[]","start":1800,"end":1886}]},{"name":"ngOnChanges","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2080,"end":2601,"decorators":[],"parameters":[{"name":"changes","type":"SimpleChanges","start":2092,"end":2114}],"variables":[{"name":"injectBeanChanged","isConst":false,"isExported":false,"start":2160,"end":2218}]},{"name":"refreshStyles","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2605,"end":3395,"decorators":[],"parameters":[],"variables":[]},{"name":"joinCssClassesAsAttribute","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3399,"end":3581,"decorators":[],"parameters":[],"variables":[]},{"name":"addCssClass","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3585,"end":3807,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"cssClass","type":"string","start":3617,"end":3633}],"variables":[]},{"name":"removeCssClass","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3811,"end":4069,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"cssClass","type":"string","start":3846,"end":3862}],"variables":[]},{"name":"focus","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":4073,"end":4113,"decorators":[],"parameters":[],"variables":[]},{"name":"setInheritParentByParent","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":4117,"end":4238,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":4149,"end":4163}],"variables":[]},{"name":"inheritParentProps","isAbstract":false,"visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":4242,"end":4348,"decorators":[],"parameters":[],"variables":[]},{"name":"setEnabled","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":4352,"end":4516,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"enabled","type":"boolean","start":4383,"end":4399}],"variables":[]},{"name":"isEnabled","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":4520,"end":4664,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"isVisible","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":4668,"end":4806,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"saveDisabledState","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4810,"end":4953,"decorators":[],"parameters":[],"variables":[]},{"name":"getTooltip","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":4957,"end":5028,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getTooltipOrEmpty","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":5032,"end":5135,"decorators":[],"parameters":[],"variables":[]},{"name":"restoreDisableState","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":5139,"end":5313,"decorators":[],"parameters":[],"variables":[]},{"name":"setVisible","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5317,"end":5600,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"boolean","start":5341,"end":5355}],"variables":[{"name":"oldVisibilityState","isConst":false,"isExported":false,"start":5363,"end":5405}]},{"name":"setTooltip","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5604,"end":5702,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":5628,"end":5641}],"variables":[]},{"name":"setCssClasses","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5706,"end":5837,"decorators":[],"parameters":[{"name":"value","type":"string[]","start":5720,"end":5735}],"variables":[]},{"name":"setStyle","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":5841,"end":5947,"decorators":[],"parameters":[{"name":"value","type":"Style","start":5850,"end":5862}],"variables":[]},{"name":"getFocusElement","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":6109,"end":6199,"decorators":[],"parameters":[],"variables":[]},{"name":"setFocused","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":6271,"end":6653,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"boolean","start":6295,"end":6309}],"variables":[{"name":"focusElement","isConst":false,"isExported":false,"start":6317,"end":6359}]},{"name":"isFocused","isAbstract":false,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":6703,"end":6767,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"setVisibleByParent","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":6771,"end":7055,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":6790,"end":6804}],"variables":[{"name":"oldVisibilityState","isConst":false,"isExported":false,"start":6812,"end":6854}]},{"name":"setDisabledByParent","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":7059,"end":7163,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":7079,"end":7093}],"variables":[]},{"name":"getControl","isAbstract":false,"type":"Control","isOptional":false,"isStatic":false,"isAsync":false,"start":7220,"end":7264,"decorators":[],"parameters":[],"variables":[]},{"name":"onFocus","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":7324,"end":7457,"decorators":[],"parameters":[],"variables":[]},{"name":"onBlur","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":7517,"end":7650,"decorators":[],"parameters":[],"variables":[]},{"name":"removeListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":7654,"end":7853,"decorators":[],"parameters":[{"name":"onEventFunction","type":"Function","start":7676,"end":7701},{"name":"listeners","type":"Function[]","start":7703,"end":7724}],"variables":[{"name":"idx","isConst":false,"isExported":false,"type":"number","start":7738,"end":7791}]},{"name":"addListener","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":7857,"end":7968,"decorators":[],"parameters":[{"name":"onEventFunction","type":"Function","start":7876,"end":7901},{"name":"listeners","type":"Function[]","start":7903,"end":7924}],"variables":[]},{"name":"applyListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":7972,"end":8090,"decorators":[],"parameters":[{"name":"listeners","type":"Function[]","start":7993,"end":8014}],"variables":[]},{"name":"addFocusListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8094,"end":8216,"decorators":[],"parameters":[{"name":"onFocusFunction","type":"Function","start":8118,"end":8143}],"variables":[]},{"name":"removeFocusListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8220,"end":8348,"decorators":[],"parameters":[{"name":"onFocusFunction","type":"Function","start":8247,"end":8272}],"variables":[]},{"name":"addBlurListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8352,"end":8470,"decorators":[],"parameters":[{"name":"onBlurFunction","type":"Function","start":8375,"end":8399}],"variables":[]},{"name":"removeBlurListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8474,"end":8598,"decorators":[],"parameters":[{"name":"onBlurFunction","type":"Function","start":8500,"end":8524}],"variables":[]},{"name":"isBooleanValue","isAbstract":false,"visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":8602,"end":8703,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":8627,"end":8641}],"variables":[]},{"name":"cloneStyle","isAbstract":false,"visibility":0,"type":"Style","isOptional":false,"isStatic":false,"isAsync":false,"start":8707,"end":8912,"decorators":[],"parameters":[],"variables":[{"name":"clone","isConst":false,"isExported":false,"start":8741,"end":8765}]},{"name":"setPadding","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8916,"end":9074,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"padding","type":"string","start":8947,"end":8962}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":8976,"end":9009}]},{"name":"setMargin","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9078,"end":9232,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"margin","type":"string","start":9108,"end":9122}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9136,"end":9169}]},{"name":"setBorder","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9236,"end":9390,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"border","type":"string","start":9266,"end":9280}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9294,"end":9327}]},{"name":"setHeight","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9394,"end":9548,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"height","type":"string","start":9424,"end":9438}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9452,"end":9485}]},{"name":"setWidth","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9552,"end":9702,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"width","type":"string","start":9581,"end":9594}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9608,"end":9641}]},{"name":"setMinHeight","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9706,"end":9872,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"minHeight","type":"string","start":9739,"end":9756}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9770,"end":9803}]},{"name":"setMinWidth","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9876,"end":10038,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"minWidth","type":"string","start":9908,"end":9924}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":9938,"end":9971}]},{"name":"setMaxHeight","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10042,"end":10208,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"maxHeight","type":"string","start":10075,"end":10092}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":10106,"end":10139}]},{"name":"setMaxWidth","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10212,"end":10374,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"maxWidth","type":"string","start":10244,"end":10260}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":10274,"end":10307}]},{"name":"setStretch","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10378,"end":10537,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"stretch","type":"boolean","start":10409,"end":10425}],"variables":[{"name":"newStyle","isConst":false,"isExported":false,"start":10439,"end":10472}]},{"name":"setInitValue","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":10651,"end":10677,"decorators":[],"parameters":[],"variables":[]},{"name":"hasCssClass","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":10681,"end":10779,"decorators":[],"parameters":[{"name":"cssClass","type":"string","start":10700,"end":10716}],"variables":[]}],"extendsClauses":["BaseComponent"],"implementsClauses":["Focusable","IControl"],"ctor":{"name":"Control","start":1678,"end":1753,"parameters":[{"name":"el","type":"ElementRef","start":1690,"end":1704},{"name":"cd","type":"ChangeDetectorRef","start":1706,"end":1727}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","nativeCssClasses","Array","cssClass","changes","SimpleChanges","injectBeanChanged","Visible","css","value","enabled","oldVisibilityState","Style","focusElement","Control","onEventFunction","Function","listeners","idx","key","onFocusFunction","onBlurFunction","clone","Object","padding","newStyle","margin","border","height","width","minHeight","minWidth","maxHeight","maxWidth","stretch","BaseComponent","Focusable","IControl","Input","NotNull","visible","disabled","tooltip","AdvancedProperty","style","CssClassEditor","cssClasses","inheritParent","HostBinding","hidden","focused","cssClassesStr","visibleChangeEvent","Event","disableChangeEvent","focusEvent","visibleByParent","disabledByParent","inheritParentByParent","focusListeners","blurListeners","savedDisabledState"],"packageName":"component"},{"rootPath":"/","start":0,"end":1198,"imports":[{"libraryName":"component","start":0,"end":34,"specifiers":[{"specifier":"Control"}]},{"libraryName":"component","start":35,"end":77,"specifiers":[{"specifier":"Collectible"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"ControlWithValue","isExported":true,"start":150,"end":1197,"accessors":[],"properties":[],"methods":[{"name":"getValue","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":209,"end":225,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":254,"end":276,"decorators":[],"parameters":[],"variables":[]},{"name":"getTextValue","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":383,"end":406,"decorators":[],"parameters":[],"variables":[]},{"name":"getValueForForm","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":410,"end":433,"decorators":[],"parameters":[],"variables":[]},{"name":"getPresentationValue","isAbstract":true,"visibility":2,"type":"string | number | boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":583,"end":633,"decorators":[],"parameters":[],"variables":[]},{"name":"setValue","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":637,"end":658,"decorators":[],"parameters":[{"name":"value","type":"any","start":646,"end":656}],"variables":[]},{"name":"clearValue","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":734,"end":747,"decorators":[],"parameters":[],"variables":[]},{"name":"resetValue","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":824,"end":843,"decorators":[],"parameters":[],"variables":[]},{"name":"isCollectible","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":847,"end":872,"decorators":[],"parameters":[],"variables":[]},{"name":"onChange","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":876,"end":893,"decorators":[],"parameters":[],"variables":[]},{"name":"addChangeListener","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":897,"end":949,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":915,"end":941}],"variables":[]},{"name":"removeChangeListener","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":953,"end":1008,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":974,"end":1000}],"variables":[]},{"name":"getControl","isAbstract":true,"visibility":2,"type":"Control","isOptional":false,"isStatic":false,"isAsync":false,"start":1012,"end":1034,"decorators":[],"parameters":[],"variables":[]},{"name":"isPristine","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1078,"end":1100,"decorators":[],"parameters":[],"variables":[]},{"name":"getValueAsModel","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1119,"end":1142,"decorators":[],"parameters":[],"variables":[]},{"name":"setInitValue","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1146,"end":1167,"decorators":[],"parameters":[],"variables":[]},{"name":"isValueEmpty","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1171,"end":1195,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Collectible"],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["author","Collectible","getValue","getObjectId","getTextValue","getValueForForm","getPresentationValue","setValue","value","clearValue","resetValue","isCollectible","onChange","addChangeListener","onChangeFunction","Function","removeChangeListener","getControl","Control","isPristine","getValueAsModel","setInitValue","isValueEmpty"],"packageName":"component"},{"rootPath":"/","start":29,"end":116,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"CustomLoadingComponent","isExported":true,"start":29,"end":115,"accessors":[],"properties":[],"methods":[{"name":"setKeyValue","isAbstract":true,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":74,"end":113,"decorators":[],"parameters":[{"name":"value","type":"any","start":86,"end":96}],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["author","setKeyValue","value","Promise"],"packageName":"component"},{"rootPath":"/","start":0,"end":1023,"imports":[{"libraryName":"component","start":0,"end":36,"specifiers":[{"specifier":"Behavior"}]},{"libraryName":"component.field","start":37,"end":83,"specifiers":[{"specifier":"SelectBase"}]},{"libraryName":"component","start":84,"end":112,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"decorators","start":113,"end":159,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"decorators","start":160,"end":210,"specifiers":[{"specifier":"ObjectRef"}]},{"libraryName":"util","start":211,"end":257,"specifiers":[{"specifier":"FilterUtil"}]}],"exports":[],"declarations":[],"classes":[{"name":"DependentOnFieldGrid","isExported":true,"start":259,"end":1022,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"dependsOn","visibility":2,"type":"SelectBase","isOptional":false,"isStatic":false,"start":315,"end":372,"decorators":[{"name":"ObjectRef","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"grid","visibility":0,"type":"Grid","isOptional":false,"isStatic":false,"start":376,"end":395,"decorators":[]},{"name":"onSelectFunction","visibility":0,"type":"Function","isOptional":false,"isStatic":false,"start":398,"end":433,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":437,"end":778,"decorators":[],"parameters":[],"variables":[{"name":"filter","isConst":false,"isExported":false,"start":655,"end":734}]},{"name":"bindEvents","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":782,"end":898,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":902,"end":1020,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Behavior"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["Grid","selectedValueId","filter","FilterUtil","Behavior","ObjectRef","NotNull","dependsOn","SelectBase","grid","onSelectFunction","Function"],"packageName":"component"},{"rootPath":"/","start":0,"end":4994,"imports":[{"libraryName":"bootstrap","start":0,"end":19},{"libraryName":"@angular/core","start":20,"end":135,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component.container","start":136,"end":184,"specifiers":[{"specifier":"Container"}]},{"libraryName":"decorators","start":185,"end":231,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"decorators","start":232,"end":278,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"webbpm.event","start":279,"end":323,"specifiers":[{"specifier":"Event"}]},{"libraryName":"component.container","start":324,"end":394,"specifiers":[{"specifier":"ValidatableContainer"}]},{"libraryName":"component","start":395,"end":429,"specifiers":[{"specifier":"IWindow"}]}],"exports":[],"declarations":[],"classes":[{"name":"Dialog","isExported":true,"start":431,"end":4993,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'webbpm-dialog',\n templateUrl: './../../../src/resources/template/component/Dialog.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n }"]}],"properties":[{"name":"title","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":706,"end":738,"decorators":[{"name":"Input","parameters":[]}]},{"name":"closable","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":742,"end":791,"decorators":[{"name":"Input","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"visible","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":795,"end":850,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"showDialogEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":888,"end":964,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"hideDialogEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":968,"end":1044,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"resetValidationStatus","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1048,"end":1107,"decorators":[{"name":"Visible","parameters":[]}]},{"name":"showListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":1111,"end":1152,"decorators":[]},{"name":"hideListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":1155,"end":1196,"decorators":[]},{"name":"isDestroyed","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":1248,"end":1285,"decorators":[]},{"name":"_actionInProgress","visibility":0,"isOptional":false,"isStatic":false,"start":1289,"end":1323,"decorators":[]},{"name":"_nextActionQueue","visibility":0,"isOptional":false,"isStatic":false,"start":1326,"end":1356,"decorators":[]}],"methods":[{"name":"refreshStyles","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1439,"end":1523,"decorators":[],"parameters":[],"variables":[]},{"name":"show","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1527,"end":1781,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"isDlgShown","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":1785,"end":1877,"decorators":[],"parameters":[],"variables":[]},{"name":"hide","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1881,"end":2358,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[{"name":"shown","isConst":false,"isExported":false,"start":1920,"end":1950}]},{"name":"safeModal","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2362,"end":3819,"decorators":[],"parameters":[{"name":"action","start":2380,"end":2386}],"variables":[{"name":"modal","isConst":true,"isExported":false,"start":2400,"end":2451},{"name":"futureAction","isConst":true,"isExported":false,"start":2594,"end":2640},{"name":"postEventName","isConst":true,"isExported":false,"start":3085,"end":3137},{"name":"clearInProgress","isConst":false,"isExported":false,"start":3178,"end":3744},{"name":"futureAction","isConst":true,"isExported":false,"start":3417,"end":3463},{"name":"next","isConst":true,"isExported":false,"start":3624,"end":3667}]},{"name":"getPostEventName","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":3824,"end":3969,"decorators":[],"parameters":[{"name":"action","type":"string","start":3848,"end":3862}],"variables":[{"name":"prefix","isConst":true,"isExported":false,"start":3878,"end":3932}]},{"name":"addShowListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3973,"end":4091,"decorators":[],"parameters":[{"name":"onShowFunction","type":"Function","start":3996,"end":4020}],"variables":[]},{"name":"removeShowListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4095,"end":4219,"decorators":[],"parameters":[{"name":"onShowFunction","type":"Function","start":4121,"end":4145}],"variables":[]},{"name":"addHideListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4223,"end":4341,"decorators":[],"parameters":[{"name":"onHideFunction","type":"Function","start":4246,"end":4270}],"variables":[]},{"name":"removeHideListener","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4345,"end":4469,"decorators":[],"parameters":[{"name":"onHideFunction","type":"Function","start":4371,"end":4395}],"variables":[]},{"name":"setVisible","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":4473,"end":4584,"decorators":[],"parameters":[{"name":"visible","type":"boolean","start":4484,"end":4500}],"variables":[]},{"name":"setTitle","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":4588,"end":4682,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":4610,"end":4623}],"variables":[]},{"name":"setClosable","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":4686,"end":4774,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":4698,"end":4712}],"variables":[]},{"name":"reset","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4778,"end":4833,"decorators":[],"parameters":[],"variables":[]},{"name":"ngOnDestroy","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4837,"end":4991,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Container"],"implementsClauses":["IWindow"],"ctor":{"name":"Dialog","start":1360,"end":1435,"parameters":[{"name":"el","type":"ElementRef","start":1372,"end":1386},{"name":"cd","type":"ChangeDetectorRef","start":1388,"end":1409}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Visible","$","shown","ValidatableContainer","component","action","modal","i","futureAction","postEventName","clearInProgress","next","prefix","onShowFunction","Function","onHideFunction","visible","value","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Container","IWindow","Input","title","NotNull","closable","showDialogEvent","Event","hideDialogEvent","resetValidationStatus","showListeners","hideListeners","isDestroyed","_actionInProgress","_nextActionQueue"],"packageName":"component"},{"rootPath":"/","start":0,"end":10211,"imports":[{"libraryName":"common","start":0,"end":48,"specifiers":[{"specifier":"Filterable"}]},{"libraryName":"component","start":49,"end":85,"specifiers":[{"specifier":"BaseGrid"}]},{"libraryName":"generated.model","start":86,"end":135,"specifiers":[{"specifier":"Filter"}]},{"libraryName":"component","start":136,"end":194,"specifiers":[{"specifier":"SelectableComponent"}]},{"libraryName":"component.grid","start":195,"end":258,"specifiers":[{"specifier":"EmptyDataDatasource"}]},{"libraryName":"component.filter","start":259,"end":318,"specifiers":[{"specifier":"ClientFilterGrid"}]},{"libraryName":"component.filter","start":319,"end":378,"specifiers":[{"specifier":"BaseClientFilter"}]},{"libraryName":"component.grid","start":379,"end":448,"specifiers":[{"specifier":"GridFilterableOnClient"}]},{"libraryName":"decorators","start":449,"end":499,"specifiers":[{"specifier":"ObjectRef"}]},{"libraryName":"util","start":500,"end":546,"specifiers":[{"specifier":"FilterUtil"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.bean.filter","start":547,"end":654,"specifiers":[{"specifier":"FilterOperation"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.bean.entity_graph.condition","start":655,"end":764,"specifiers":[{"specifier":"Operator"}]},{"libraryName":"generated.model","start":765,"end":824,"specifiers":[{"specifier":"FilterModel"}]},{"libraryName":"decorators","start":825,"end":871,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"generated.model.grid","start":872,"end":930,"specifiers":[{"specifier":"SortInfo"}]},{"libraryName":"generated.model","start":931,"end":986,"specifiers":[{"specifier":"FileModel"}]},{"libraryName":"util","start":987,"end":1031,"specifiers":[{"specifier":"FileUtils"}]},{"libraryName":"generated.model.grid","start":1032,"end":1114,"specifiers":[{"specifier":"GridDataExportFormat"}]},{"libraryName":"generated.rpc","start":1115,"end":1178,"specifiers":[{"specifier":"GridRpcService"}]},{"libraryName":"moment-timezone","start":1179,"end":1216,"specifiers":[],"defaultAlias":"moment"},{"libraryName":"@angular/core","start":1217,"end":1277,"specifiers":[{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"DynamicDataGrid","isExported":true,"start":1279,"end":10210,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"parentControl","visibility":2,"type":"SelectableComponent","isOptional":false,"isStatic":false,"start":1401,"end":1458,"decorators":[{"name":"ObjectRef","parameters":[]}]},{"name":"filterMap","visibility":1,"type":"{ [key: string]: Filter }","isOptional":false,"isStatic":false,"start":1462,"end":1514,"decorators":[]},{"name":"loadOnInit","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1517,"end":1547,"decorators":[]},{"name":"reloadNeeded","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1550,"end":1590,"decorators":[]},{"name":"started","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1593,"end":1628,"decorators":[]},{"name":"loadEnabled","visibility":1,"type":"boolean","isOptional":false,"isStatic":false,"start":1631,"end":1669,"decorators":[]},{"name":"onSelectFunction","visibility":1,"type":"Function","isOptional":false,"isStatic":false,"start":1672,"end":1709,"decorators":[]},{"name":"$","visibility":1,"type":"GridRpcService","isOptional":false,"isStatic":false,"start":1712,"end":1740,"decorators":[]}],"methods":[{"name":"initGrid","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1823,"end":2095,"decorators":[],"parameters":[],"variables":[]},{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":2099,"end":2215,"decorators":[],"parameters":[],"variables":[]},{"name":"start","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2219,"end":2379,"decorators":[],"parameters":[],"variables":[]},{"name":"reset","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2383,"end":2475,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2479,"end":2641,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2645,"end":2814,"decorators":[],"parameters":[],"variables":[]},{"name":"refresh","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2818,"end":2968,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"refreshData","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2972,"end":3008,"decorators":[],"parameters":[],"variables":[]},{"name":"reload","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3013,"end":3873,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":3027,"end":3049}],"variables":[{"name":"filter","isConst":false,"isExported":false,"start":3531,"end":3749}]},{"name":"searchClientFilter","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":3877,"end":4447,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":3904,"end":3926}],"variables":[{"name":"model","isConst":false,"isExported":false,"start":3934,"end":3949},{"name":"clientFilterGrid","isConst":false,"isExported":false,"type":"ClientFilterGrid","start":3988,"end":4102}]},{"name":"saveFiltersToMap","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4451,"end":4571,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":4476,"end":4493}],"variables":[]},{"name":"addFilter","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4575,"end":4663,"decorators":[],"parameters":[{"name":"filter","type":"Filter","start":4585,"end":4599}],"variables":[]},{"name":"removeFilter","isAbstract":false,"type":"Filter","isOptional":false,"isStatic":false,"isAsync":false,"start":4667,"end":4792,"decorators":[],"parameters":[{"name":"guid","type":"string","start":4680,"end":4692}],"variables":[{"name":"ret","isConst":false,"isExported":false,"start":4708,"end":4739}]},{"name":"getFilters","isAbstract":false,"type":"Filter[]","isOptional":false,"isStatic":false,"isAsync":false,"start":4796,"end":4995,"decorators":[],"parameters":[],"variables":[{"name":"fieldComponentFilters","isConst":false,"isExported":false,"start":4825,"end":4883},{"name":"columnFilters","isConst":false,"isExported":false,"start":4888,"end":4931}]},{"name":"getColumnFilters","isAbstract":false,"visibility":0,"type":"Filter[]","isOptional":false,"isStatic":false,"isAsync":false,"start":4999,"end":6136,"decorators":[],"parameters":[],"variables":[{"name":"filterModel","isConst":false,"isExported":false,"start":5042,"end":5090},{"name":"columnFilters","isConst":false,"isExported":false,"start":5199,"end":5222},{"name":"colDef","isConst":false,"isExported":false,"start":5295,"end":5342},{"name":"columnUid","isConst":false,"isExported":false,"start":5372,"end":5408},{"name":"filter","isConst":false,"isExported":false,"start":5417,"end":5443},{"name":"agFilterElement1","isConst":false,"isExported":false,"type":"any","start":5730,"end":5781},{"name":"agFilterElement2","isConst":false,"isExported":false,"type":"any","start":5792,"end":5843}]},{"name":"createFilter","isAbstract":false,"visibility":0,"type":"Filter","isOptional":false,"isStatic":false,"isAsync":false,"start":6140,"end":6412,"decorators":[],"parameters":[{"name":"operator","type":"Operator","start":6161,"end":6179},{"name":"componentGuid","type":"string","start":6181,"end":6202},{"name":"filterModels","type":"FilterModel[]","start":6204,"end":6231}],"variables":[{"name":"filter","isConst":true,"isExported":false,"start":6247,"end":6275}]},{"name":"addFilterCondition","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":6416,"end":8777,"decorators":[],"parameters":[{"name":"filter","type":"Filter","start":6443,"end":6457},{"name":"agFilter","type":"any","start":6459,"end":6472}],"variables":[{"name":"filterModel","isConst":false,"isExported":false,"start":6527,"end":6563},{"name":"filterToModel","isConst":false,"isExported":false,"start":6755,"end":6793},{"name":"filterFromModel","isConst":false,"isExported":false,"start":7258,"end":7298},{"name":"dateFrom","isConst":false,"isExported":false,"start":7305,"end":7348},{"name":"filterToModel","isConst":false,"isExported":false,"start":7478,"end":7516},{"name":"dateTo","isConst":false,"isExported":false,"start":7548,"end":7593},{"name":"filterModel","isConst":false,"isExported":false,"start":7920,"end":7956}]},{"name":"disableInitialLoading","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8781,"end":8882,"decorators":[],"parameters":[],"variables":[]},{"name":"loadingEnabled","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":8886,"end":8986,"decorators":[],"parameters":[],"variables":[]},{"name":"setLoadEnabled","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":8990,"end":9069,"decorators":[],"parameters":[{"name":"value","type":"boolean","start":9012,"end":9026}],"variables":[]},{"name":"isDependentGrid","isAbstract":false,"visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":9073,"end":9152,"decorators":[],"parameters":[],"variables":[]},{"name":"clear","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":9156,"end":9520,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"exportAsXls","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":9524,"end":9599,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"exportAsXlsx","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":9603,"end":9680,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"exportAsCsv","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":9684,"end":9759,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"export","isAbstract":false,"visibility":0,"isOptional":false,"isStatic":false,"isAsync":false,"start":9815,"end":10208,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"format","type":"GridDataExportFormat","start":9843,"end":9871}],"variables":[{"name":"filters","isConst":false,"isExported":false,"type":"Filter[]","start":9879,"end":9921},{"name":"sortInfo","isConst":false,"isExported":false,"type":"SortInfo[]","start":9926,"end":9972},{"name":"columnIdsToExport","isConst":false,"isExported":false,"type":"string[]","start":9977,"end":10039}]}],"extendsClauses":["BaseGrid"],"implementsClauses":["Filterable"],"ctor":{"name":"DynamicDataGrid","start":1744,"end":1819,"parameters":[{"name":"el","type":"ElementRef","start":1756,"end":1770},{"name":"cd","type":"ChangeDetectorRef","start":1772,"end":1793}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Promise","GridRpcService","Visible","filters","Filter","GridFilterableOnClient","filter","BaseClientFilter","FilterUtil","FilterOperation","model","clientFilterGrid","ClientFilterGrid","filterModel","type","guid","ret","fieldComponentFilters","Object","columnFilters","column","agFilter","colDef","columnUid","Operator","agFilterElement1","agFilterElement2","operator","componentGuid","filterModels","FilterModel","Date","filterToModel","filterFromModel","dateFrom","dateTo","moment","value","EmptyDataDatasource","GridDataExportFormat","format","sortInfo","SortInfo","columnIdsToExport","file","FileModel","FileUtils","BaseGrid","Filterable","ObjectRef","parentControl","SelectableComponent","filterMap","key","loadOnInit","reloadNeeded","started","loadEnabled","onSelectFunction","Function","$"],"packageName":"component"},{"rootPath":"/","start":0,"end":711,"imports":[{"libraryName":"@angular/core","start":0,"end":96,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"}]},{"libraryName":"component","start":97,"end":143,"specifiers":[{"specifier":"BaseComponent"}]},{"libraryName":"decorators","start":144,"end":196,"specifiers":[{"specifier":"Deprecated"}]}],"exports":[],"declarations":[],"classes":[{"name":"EmptyComponent","isExported":true,"start":404,"end":710,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Deprecated","parameters":[]},{"name":"Component","parameters":["{\n selector: 'empty',\n templateUrl: './../../../src/resources/template/component/Empty.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[],"extendsClauses":["BaseComponent"],"implementsClauses":[],"ctor":{"name":"EmptyComponent","start":633,"end":708,"parameters":[{"name":"el","type":"ElementRef","start":645,"end":659},{"name":"cd","type":"ChangeDetectorRef","start":661,"end":682}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Deprecated","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","BaseComponent"],"packageName":"component"},{"rootPath":"/","start":0,"end":453,"imports":[{"libraryName":"component","start":0,"end":34,"specifiers":[{"specifier":"Control"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"FormValue","isExported":true,"start":65,"end":452,"accessors":[],"properties":[],"methods":[{"name":"getValue","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":97,"end":113,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":117,"end":139,"decorators":[],"parameters":[],"variables":[]},{"name":"getValueForForm","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":143,"end":166,"decorators":[],"parameters":[],"variables":[]},{"name":"setValue","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":170,"end":191,"decorators":[],"parameters":[{"name":"value","type":"any","start":179,"end":189}],"variables":[]},{"name":"isCollectible","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":242,"end":267,"decorators":[],"parameters":[],"variables":[]},{"name":"onChange","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":270,"end":287,"decorators":[],"parameters":[],"variables":[]},{"name":"addChangeListener","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":290,"end":342,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":308,"end":334}],"variables":[]},{"name":"removeChangeListener","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":345,"end":400,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":366,"end":392}],"variables":[]},{"name":"getControl","isAbstract":true,"visibility":2,"type":"Control","isOptional":false,"isStatic":false,"isAsync":false,"start":404,"end":426,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["author","getValue","getObjectId","getValueForForm","setValue","value","isCollectible","onChange","addChangeListener","onChangeFunction","Function","removeChangeListener","getControl","Control"],"packageName":"component"},{"rootPath":"/","start":0,"end":15429,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":95,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"fakeAsync"},{"specifier":"flush"},{"specifier":"TestBed"},{"specifier":"tick"}]},{"libraryName":"@angular/core","start":96,"end":135,"specifiers":[{"specifier":"Injector"}]},{"libraryName":"component","start":136,"end":164,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"ag-grid-angular","start":165,"end":210,"specifiers":[{"specifier":"AgGridModule"}]},{"libraryName":"component.grid","start":211,"end":284,"specifiers":[{"specifier":"GridInfiniteScrollLoader"}]},{"libraryName":"generated.property.grid","start":285,"end":350,"specifiers":[{"specifier":"GridColumn"}]},{"libraryName":"pipe","start":351,"end":410,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"modules.bpmn.provider","start":411,"end":490,"specifiers":[{"specifier":"TaskParamsProvider"}]},{"libraryName":"...testing","start":491,"end":539,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":540,"end":593,"specifiers":[{"specifier":"NgbModule"}]},{"libraryName":"modules.core.component","start":594,"end":694,"specifiers":[{"specifier":"ProgressIndicationComponent"}]},{"libraryName":"generated.model.grid","start":695,"end":753,"specifiers":[{"specifier":"GridRows"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.bean.filter","start":754,"end":857,"specifiers":[{"specifier":"FilterOperation"}]},{"libraryName":"component","start":858,"end":888,"specifiers":[{"specifier":"Style"}]},{"libraryName":"modules.core.service","start":889,"end":983,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"generated.property.grid","start":984,"end":1051,"specifiers":[{"specifier":"GridColumns"}]},{"libraryName":"generated.rpc","start":1052,"end":1115,"specifiers":[{"specifier":"GridRpcService"}]},{"libraryName":"...testing","start":1116,"end":1174,"specifiers":[{"specifier":"ConstantsUtil"}]},{"libraryName":"component.grid.enums","start":1175,"end":1250,"specifiers":[{"specifier":"GridLoadingOverlayType"}]},{"libraryName":"modules.core.service","start":1295,"end":1377,"specifiers":[{"specifier":"LocalStorageService"}]},{"libraryName":"modules.core.storage","start":1378,"end":1446,"specifiers":[{"specifier":"WebbpmStorage"}]},{"libraryName":"component.grid.utils","start":1447,"end":1518,"specifiers":[{"specifier":"GridColumnStateUtils"}]},{"libraryName":"util","start":1519,"end":1565,"specifiers":[{"specifier":"FilterUtil"}]}],"exports":[],"declarations":[{"name":"ENTITY","isConst":true,"isExported":false,"start":1603,"end":1627},{"name":"NAME","isConst":true,"isExported":false,"start":1630,"end":1652},{"name":"NAME_DATE","isConst":true,"isExported":false,"start":1655,"end":1688},{"name":"NAME_TIME","isConst":true,"isExported":false,"start":1691,"end":1724},{"name":"COL_ID","isConst":true,"isExported":false,"start":1727,"end":1762},{"name":"COL_DATE_ID","isConst":true,"isExported":false,"start":1765,"end":1810},{"name":"COL_TIME_ID","isConst":true,"isExported":false,"start":1813,"end":1858},{"name":"COL_SELECTOR","isConst":true,"isExported":false,"start":1861,"end":1905},{"name":"DEFAULT_COLUMN_WIDTH","isConst":true,"isExported":false,"start":1908,"end":1940},{"name":"COLUMN_WIDTH","isConst":true,"isExported":false,"start":1943,"end":1968},{"name":"COLUMN_HEIGHT","isConst":true,"isExported":false,"start":1971,"end":1996},{"name":"STYLE_COLUMN_WIDTH","isConst":true,"isExported":false,"start":1999,"end":2053},{"name":"STYLE_COLUMN_HEIGHT","isConst":true,"isExported":false,"start":2056,"end":2113},{"name":"VALUE_1","isConst":true,"isExported":false,"start":2116,"end":2157},{"name":"VALUE_2","isConst":true,"isExported":false,"start":2160,"end":2185},{"name":"DATE_ISO","isConst":true,"isExported":false,"start":2188,"end":2228},{"name":"DATE","isConst":true,"isExported":false,"start":2231,"end":2257},{"name":"TIME","isConst":true,"isExported":false,"start":2260,"end":2296},{"name":"COLUMN_NAME","isConst":true,"isExported":false,"start":2299,"end":2329},{"name":"FILTERS","isConst":true,"isExported":false,"start":2332,"end":2420},{"name":"CTRL_CLICK","isConst":true,"isExported":false,"start":2423,"end":2528},{"name":"component","isConst":false,"isExported":false,"type":"Grid","start":2532,"end":2552},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":2555,"end":2591},{"name":"gridColumns","isConst":false,"isExported":false,"type":"GridColumns","start":2594,"end":2623},{"name":"gridRpcService","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2626,"end":2677},{"name":"gridInfiniteScrollLoader","isConst":false,"isExported":false,"type":"GridInfiniteScrollLoader","start":2680,"end":2735},{"name":"progressIndicationSpy","isConst":false,"isExported":false,"type":"ProgressIndicationService","start":2738,"end":2791},{"name":"gridRows","isConst":false,"isExported":false,"type":"GridRows","start":2794,"end":2817},{"name":"gridColumn","isConst":false,"isExported":false,"type":"GridColumn","start":2820,"end":2847},{"name":"localStorageServiceSpy","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2850,"end":2914},{"name":"el","isConst":false,"isExported":false,"type":"HTMLElement","start":2917,"end":2937},{"name":"gridApi","isConst":false,"isExported":false,"start":2940,"end":2952},{"name":"dateGridColumn","isConst":false,"isExported":false,"start":4592,"end":4674},{"name":"timeGridColumn","isConst":false,"isExported":false,"start":4679,"end":4761},{"name":"createGridColumn","isExported":false,"isAsync":false,"type":"GridColumn","start":5641,"end":6127,"parameters":[{"name":"columnName","type":"string","start":5667,"end":5685},{"name":"entity","type":"string","start":5687,"end":5701},{"name":"name","type":"string","start":5703,"end":5715},{"name":"type","type":"string","start":5717,"end":5729}],"variables":[{"name":"gridColumn","isConst":false,"isExported":false,"type":"GridColumn","start":5749,"end":5795}]},{"name":"getColumnDef","isExported":false,"isAsync":false,"start":6131,"end":6221,"parameters":[{"name":"fieldName","type":"string","start":6153,"end":6170}],"variables":[]},{"name":"triggerInitGrid","isExported":false,"isAsync":false,"start":6225,"end":6381,"parameters":[],"variables":[]},{"name":"rows","isConst":true,"isExported":false,"start":6534,"end":6609},{"name":"count","isConst":false,"isExported":false,"start":6857,"end":6871},{"name":"count","isConst":false,"isExported":false,"start":7180,"end":7194},{"name":"containerWidth","isConst":true,"isExported":false,"start":7983,"end":8077},{"name":"columnWidth","isConst":true,"isExported":false,"start":8082,"end":8158},{"name":"leftRange","isConst":false,"isExported":false,"start":8163,"end":8235},{"name":"rightRange","isConst":false,"isExported":false,"start":8240,"end":8312},{"name":"columnWidth","isConst":true,"isExported":false,"start":8466,"end":8542},{"name":"columnWidth","isConst":true,"isExported":false,"start":9310,"end":9386},{"name":"rows","isConst":true,"isExported":false,"start":10106,"end":10176},{"name":"rows","isConst":true,"isExported":false,"start":10363,"end":10433},{"name":"rowNumbers","isConst":true,"isExported":false,"start":10677,"end":10745},{"name":"rowNumbers","isConst":true,"isExported":false,"start":11074,"end":11142},{"name":"cell","isConst":true,"isExported":false,"start":11260,"end":11302},{"name":"tooltip","isConst":true,"isExported":false,"start":11402,"end":11453},{"name":"tooltip","isConst":true,"isExported":false,"start":11877,"end":11928},{"name":"checkBoxes","isConst":false,"isExported":false,"start":12265,"end":12354},{"name":"grid","isConst":true,"isExported":false,"start":13404,"end":13443},{"name":"style","isConst":false,"isExported":false,"start":13743,"end":13767},{"name":"grid","isConst":true,"isExported":false,"type":"HTMLElement","start":14088,"end":14150},{"name":"getCellValue","isExported":false,"isAsync":false,"type":"string","start":14596,"end":14735,"parameters":[{"name":"colId","type":"string","start":14618,"end":14631}],"variables":[]},{"name":"dateValue","isConst":true,"isExported":false,"start":14789,"end":14833},{"name":"dateValue","isConst":true,"isExported":false,"start":15132,"end":15181},{"name":"formattedDateTime","isConst":true,"isExported":false,"start":15186,"end":15230},{"name":"timeValue","isConst":true,"isExported":false,"start":15337,"end":15381}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["jasmine","createSpyObj","describe","ENTITY","NAME","NAME_DATE","NAME_TIME","COL_ID","COL_DATE_ID","COL_TIME_ID","COL_SELECTOR","DEFAULT_COLUMN_WIDTH","COLUMN_WIDTH","COLUMN_HEIGHT","STYLE_COLUMN_WIDTH","STYLE_COLUMN_HEIGHT","VALUE_1","VALUE_2","DATE_ISO","DATE","TIME","COLUMN_NAME","FILTERS","FilterUtil","FilterOperation","CTRL_CLICK","MouseEvent","view","window","bubbles","ctrlKey","component","Grid","fixture","ComponentFixture","gridColumns","GridColumns","gridRpcService","SpyObj","GridRpcService","gridInfiniteScrollLoader","GridInfiniteScrollLoader","progressIndicationSpy","ProgressIndicationService","gridRows","GridRows","gridColumn","GridColumn","localStorageServiceSpy","LocalStorageService","el","HTMLElement","gridApi","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","ProgressIndicationComponent","providers","Injector","provide","useValue","TaskParamsProvider","imports","AgGridModule","NgbModule","GridLoadingOverlayType","fetchSize","createGridColumn","dateGridColumn","timeGridColumn","row_uid","entity$column","entity$column_date","entity$column_time","Promise","WebbpmStorage","GridColumnStateUtils","spyOn","columnName","entity","name","type","schema","table","fieldName","it","expect","rows","fakeAsync","count","tick","flush","containerWidth","columnWidth","leftRange","Math","rightRange","getColumnDef","triggerInitGrid","row","rowNumbers","i","cell","tooltip","document","Event","checkBoxes","checkBox","xit","grid","ConstantsUtil","style","Style","colId","dateValue","getCellValue","formattedDateTime","timeValue"],"packageName":"component"},{"rootPath":"/","start":0,"end":852,"imports":[{"libraryName":"@angular/core","start":0,"end":96,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"}]},{"libraryName":"component.grid","start":97,"end":150,"specifiers":[{"specifier":"GridDataLoader"}]},{"libraryName":"component","start":151,"end":201,"specifiers":[{"specifier":"DynamicDataGrid"}]},{"libraryName":"decorators","start":202,"end":248,"specifiers":[{"specifier":"Visible"}]}],"exports":[],"declarations":[],"classes":[{"name":"Grid","isExported":true,"start":250,"end":851,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'grid',\n templateUrl: './../../../src/resources/template/component/Grid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"gridDataLoader","visibility":0,"type":"GridDataLoader","isOptional":false,"isStatic":false,"start":455,"end":494,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":577,"end":716,"decorators":[],"parameters":[],"variables":[]},{"name":"refreshData","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":720,"end":784,"decorators":[],"parameters":[],"variables":[]},{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":788,"end":849,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["DynamicDataGrid"],"implementsClauses":[],"ctor":{"name":"Grid","start":498,"end":573,"parameters":[{"name":"el","type":"ElementRef","start":510,"end":524},{"name":"cd","type":"ChangeDetectorRef","start":526,"end":547}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Promise","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","DynamicDataGrid","gridDataLoader","GridDataLoader"],"packageName":"component"},{"rootPath":"/","start":0,"end":1776,"imports":[{"libraryName":"@angular/core","start":0,"end":115,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"decorators","start":116,"end":162,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component","start":163,"end":197,"specifiers":[{"specifier":"Control"}]},{"libraryName":"decorators","start":198,"end":244,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"common","start":245,"end":295,"specifiers":[{"specifier":"ObjectValue"}]},{"libraryName":"modules.core.service","start":296,"end":373,"specifiers":[{"specifier":"NavigationService"}]}],"exports":[],"declarations":[],"classes":[{"name":"HyperLink","isExported":true,"start":375,"end":1775,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'hyper-link',\n templateUrl: './../../../src/resources/template/component/HyperLink.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n }"]}],"properties":[{"name":"url","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":632,"end":688,"decorators":[{"name":"NotNull","parameters":[]},{"name":"Visible","parameters":[]},{"name":"Input","parameters":[]}]},{"name":"text","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":692,"end":749,"decorators":[{"name":"NotNull","parameters":[]},{"name":"Visible","parameters":[]},{"name":"Input","parameters":[]}]},{"name":"isAbsolute","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":753,"end":806,"decorators":[{"name":"NotNull","parameters":[]},{"name":"Visible","parameters":[]}]},{"name":"openInNewTab","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":810,"end":865,"decorators":[{"name":"NotNull","parameters":[]},{"name":"Visible","parameters":[]}]},{"name":"parameterProviders","visibility":2,"type":"ObjectValue[]","isOptional":false,"isStatic":false,"start":869,"end":923,"decorators":[{"name":"Visible","parameters":[]}]},{"name":"navigationService","visibility":0,"type":"NavigationService","isOptional":false,"isStatic":false,"start":926,"end":971,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1054,"end":1163,"decorators":[],"parameters":[],"variables":[]},{"name":"setUrl","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1167,"end":1238,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"url","type":"string","start":1194,"end":1205}],"variables":[]},{"name":"onLinkClick","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1242,"end":1773,"decorators":[],"parameters":[],"variables":[{"name":"url","isConst":false,"isExported":false,"start":1321,"end":1340},{"name":"value","isConst":false,"isExported":false,"start":1449,"end":1478}]}],"extendsClauses":["Control"],"implementsClauses":[],"ctor":{"name":"HyperLink","start":975,"end":1050,"parameters":[{"name":"el","type":"ElementRef","start":987,"end":1001},{"name":"cd","type":"ChangeDetectorRef","start":1003,"end":1024}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","NavigationService","Visible","url","param","ObjectValue","value","Array","RegExp","openInNewTab","isAbsolute","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Control","NotNull","Input","text","parameterProviders","navigationService"],"packageName":"component"},{"rootPath":"/","start":0,"end":2404,"imports":[{"libraryName":"modules.page.model","start":0,"end":85,"specifiers":[{"specifier":"ObjRefInitializerBean"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"IBehavior","isExported":true,"start":87,"end":2403,"accessors":[],"properties":[],"methods":[{"name":"preInitialize","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":120,"end":142,"decorators":[],"parameters":[],"variables":[]},{"name":"initialize","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":228,"end":247,"decorators":[],"parameters":[],"variables":[]},{"name":"bindEvents","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":251,"end":270,"decorators":[],"parameters":[],"variables":[]},{"name":"start","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":274,"end":288,"decorators":[],"parameters":[],"variables":[]},{"name":"postStart","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":292,"end":310,"decorators":[],"parameters":[],"variables":[]},{"name":"unbindEvents","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":314,"end":329,"decorators":[],"parameters":[],"variables":[]},{"name":"reset","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":333,"end":347,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectName","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":426,"end":450,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectDescription","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":541,"end":572,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectPath","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":576,"end":619,"decorators":[],"parameters":[{"name":"relativeParent","type":"any","start":590,"end":609}],"variables":[]},{"name":"getPrototypeId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":680,"end":705,"decorators":[],"parameters":[],"variables":[]},{"name":"getComponentRootId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":767,"end":796,"decorators":[],"parameters":[],"variables":[]},{"name":"getScriptInChildren","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":939,"end":977,"decorators":[],"parameters":[{"name":"_class","type":"any","start":959,"end":970}],"variables":[]},{"name":"getScriptsInChildren","isAbstract":true,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":1127,"end":1168,"decorators":[],"parameters":[{"name":"_class","type":"any","start":1148,"end":1159}],"variables":[]},{"name":"getChildScripts","isAbstract":true,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":1338,"end":1374,"decorators":[],"parameters":[{"name":"_class","type":"any","start":1354,"end":1365}],"variables":[]},{"name":"getScript","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1515,"end":1543,"decorators":[],"parameters":[{"name":"_class","type":"any","start":1525,"end":1536}],"variables":[]},{"name":"getScripts","isAbstract":true,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":1681,"end":1712,"decorators":[],"parameters":[{"name":"_class","type":"any","start":1692,"end":1703}],"variables":[]},{"name":"getScriptInObject","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1883,"end":1937,"decorators":[],"parameters":[{"name":"objectId","type":"string","start":1901,"end":1917},{"name":"_class","type":"any","start":1919,"end":1930}],"variables":[]},{"name":"getPageId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2008,"end":2028,"decorators":[],"parameters":[],"variables":[]},{"name":"getObjectId","isAbstract":true,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2122,"end":2144,"decorators":[],"parameters":[],"variables":[]},{"name":"getContext","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":2217,"end":2235,"decorators":[],"parameters":[],"variables":[]},{"name":"getParentContext","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":2239,"end":2263,"decorators":[],"parameters":[],"variables":[]},{"name":"implementsInterface","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":2267,"end":2316,"decorators":[],"parameters":[{"name":"_interface","type":"string","start":2287,"end":2305}],"variables":[]},{"name":"destroy","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":2320,"end":2329,"decorators":[],"parameters":[],"variables":[]},{"name":"setObjRefInitializers","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":2333,"end":2400,"decorators":[],"parameters":[{"name":"objRefInitializers","type":"ObjRefInitializerBean[]","start":2355,"end":2398}],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["preInitialize","initialize","bindEvents","start","postStart","unbindEvents","reset","returns","getObjectName","getObjectDescription","getObjectPath","relativeParent","getPrototypeId","getComponentRootId","param","_class","getScriptInChildren","getScriptsInChildren","getChildScripts","getScript","getScripts","objectId","getScriptInObject","getPageId","getObjectId","getContext","getParentContext","implementsInterface","_interface","destroy","setObjRefInitializers","objRefInitializers","ObjRefInitializerBean"],"packageName":"component"},{"rootPath":"/","start":0,"end":194,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"IControl","isExported":true,"start":0,"end":194,"accessors":[],"properties":[],"methods":[{"name":"addCssClass","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":31,"end":67,"decorators":[],"parameters":[{"name":"cssClass","type":"string","start":43,"end":59}],"variables":[]},{"name":"removeCssClass","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":71,"end":110,"decorators":[],"parameters":[{"name":"cssClass","type":"string","start":86,"end":102}],"variables":[]},{"name":"hasCssClass","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":114,"end":153,"decorators":[],"parameters":[{"name":"cssClass","type":"string","start":126,"end":142}],"variables":[]},{"name":"setEnabled","isAbstract":true,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":157,"end":192,"decorators":[],"parameters":[{"name":"enabled","type":"boolean","start":168,"end":184}],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["addCssClass","cssClass","removeCssClass","hasCssClass","setEnabled","enabled"],"packageName":"component"},{"rootPath":"/","start":0,"end":635,"imports":[{"libraryName":"@angular/core","start":0,"end":103,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component","start":104,"end":138,"specifiers":[{"specifier":"Control"}]}],"exports":[],"declarations":[],"classes":[{"name":"IFrame","isExported":true,"start":169,"end":634,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'iframe-window',\n templateUrl: './../../../src/resources/template/component/IFrame.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"source","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":378,"end":411,"decorators":[{"name":"Input","parameters":[]}]}],"methods":[{"name":"setSource","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":494,"end":579,"decorators":[],"parameters":[{"name":"source","type":"string","start":504,"end":518}],"variables":[]},{"name":"getSource","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":583,"end":632,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Control"],"implementsClauses":[],"ctor":{"name":"IFrame","start":415,"end":490,"parameters":[{"name":"el","type":"ElementRef","start":427,"end":441},{"name":"cd","type":"ChangeDetectorRef","start":443,"end":464}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","source","author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Control","Input"],"packageName":"component"},{"rootPath":"/","start":20,"end":50,"imports":[],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"IWindow","isExported":true,"start":20,"end":49,"accessors":[],"properties":[],"methods":[],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":[],"packageName":"component"},{"rootPath":"/","start":0,"end":415,"imports":[{"libraryName":"component","start":0,"end":28,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"@angular/core","start":29,"end":94,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]}],"exports":[],"declarations":[],"classes":[{"name":"InMemoryGrid","isExported":true,"start":126,"end":414,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'in-memory-grid',\n templateUrl: './../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":348,"end":411,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Grid"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Grid"],"packageName":"component"},{"rootPath":"/","start":0,"end":1845,"imports":[{"libraryName":"component","start":0,"end":66,"specifiers":[{"specifier":"StaticColumnInitializer"}]},{"libraryName":"@angular/core","start":67,"end":132,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]},{"libraryName":"component","start":133,"end":177,"specifiers":[{"specifier":"InMemoryGrid"}]},{"libraryName":"generated.property.grid","start":178,"end":257,"specifiers":[{"specifier":"StaticGridColumns"}]},{"libraryName":"generated.property.grid","start":258,"end":335,"specifiers":[{"specifier":"StaticGridColumn"}]},{"libraryName":"ag-grid-community","start":336,"end":377,"specifiers":[{"specifier":"ColDef"}]},{"libraryName":"component.grid.utils","start":378,"end":445,"specifiers":[{"specifier":"GridColumnDefUtils"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.api.dao.option","start":446,"end":540,"specifiers":[{"specifier":"SortOrder"}]}],"exports":[],"declarations":[],"classes":[{"name":"InMemoryStaticColumnGrid","isExported":true,"start":542,"end":1844,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'in-memory-static-column-grid',\n templateUrl: './../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"initDefaultSortModel","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":801,"end":1259,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"type":"StaticGridColumn[]","start":846,"end":912}]},{"name":"getColumnsScript","isAbstract":false,"visibility":1,"type":"StaticGridColumns","isOptional":false,"isStatic":false,"isAsync":false,"start":1263,"end":1362,"decorators":[],"parameters":[],"variables":[]},{"name":"initColumnDefs","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1366,"end":1703,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"type":"StaticGridColumn[]","start":1405,"end":1471},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":1601,"end":1662}]},{"name":"columnToColumnDef","isAbstract":false,"visibility":1,"type":"ColDef","isOptional":false,"isStatic":false,"isAsync":false,"start":1707,"end":1842,"decorators":[],"parameters":[{"name":"column","type":"StaticGridColumn","start":1735,"end":1759}],"variables":[]}],"extendsClauses":["InMemoryGrid"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["columns","StaticGridColumn","column","SortOrder","StaticGridColumns","colum","columnDef","ColDef","GridColumnDefUtils","StaticColumnInitializer","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","InMemoryGrid"],"packageName":"component"},{"rootPath":"/","start":0,"end":422,"imports":[{"libraryName":"@angular/core","start":0,"end":102,"specifiers":[{"specifier":"AfterViewInit"},{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"},{"specifier":"EventEmitter"},{"specifier":"Output"}]}],"exports":[],"declarations":[],"classes":[{"name":"InitEventsComponent","isExported":true,"start":104,"end":422,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'init-events',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"afterViewInit","visibility":2,"type":"EventEmitter","isOptional":false,"isStatic":false,"start":276,"end":356,"decorators":[{"name":"Output","parameters":[]}]}],"methods":[{"name":"ngAfterViewInit","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":360,"end":420,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":["AfterViewInit"]}],"interfaces":[],"enums":[],"resources":[],"usages":["Component","selector","template","changeDetection","ChangeDetectionStrategy","AfterViewInit","Output","afterViewInit","EventEmitter"],"packageName":"component"},{"rootPath":"/","start":0,"end":556,"imports":[{"libraryName":"@angular/core","start":0,"end":103,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component","start":104,"end":138,"specifiers":[{"specifier":"Control"}]},{"libraryName":"decorators","start":139,"end":201,"specifiers":[{"specifier":"TextAreaEditor"}]}],"exports":[],"declarations":[],"classes":[{"name":"InnerHtml","isExported":true,"start":203,"end":555,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'inner-html',\n templateUrl: './../../../src/resources/template/component/InnerHtml.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"htmlAsString","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":415,"end":474,"decorators":[{"name":"Input","parameters":[]},{"name":"TextAreaEditor","parameters":[]}]}],"methods":[],"extendsClauses":["Control"],"implementsClauses":[],"ctor":{"name":"InnerHtml","start":478,"end":553,"parameters":[{"name":"el","type":"ElementRef","start":490,"end":504},{"name":"cd","type":"ChangeDetectorRef","start":506,"end":527}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Control","Input","TextAreaEditor","htmlAsString"],"packageName":"component"},{"rootPath":"/","start":0,"end":16671,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":95,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"fakeAsync"},{"specifier":"flush"},{"specifier":"TestBed"},{"specifier":"tick"}]},{"libraryName":"pipe","start":96,"end":155,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"ag-grid-angular","start":156,"end":201,"specifiers":[{"specifier":"AgGridModule"}]},{"libraryName":"modules.core.component","start":202,"end":302,"specifiers":[{"specifier":"ProgressIndicationComponent"}]},{"libraryName":"@angular/core","start":303,"end":342,"specifiers":[{"specifier":"Injector"}]},{"libraryName":"modules.core.service","start":343,"end":437,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"modules.bpmn.provider","start":438,"end":517,"specifiers":[{"specifier":"TaskParamsProvider"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":518,"end":571,"specifiers":[{"specifier":"NgbModule"}]},{"libraryName":"component","start":572,"end":612,"specifiers":[{"specifier":"PagingGrid"}]},{"libraryName":"generated.property.grid","start":613,"end":680,"specifiers":[{"specifier":"GridColumns"}]},{"libraryName":"generated.property.grid","start":681,"end":746,"specifiers":[{"specifier":"GridColumn"}]},{"libraryName":"...testing","start":747,"end":795,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"component","start":796,"end":826,"specifiers":[{"specifier":"Style"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.bean.filter","start":827,"end":930,"specifiers":[{"specifier":"FilterOperation"}]},{"libraryName":"generated.model.grid","start":931,"end":989,"specifiers":[{"specifier":"GridRows"}]},{"libraryName":"component.grid","start":990,"end":1047,"specifiers":[{"specifier":"GridPagingLoader"}]},{"libraryName":"...testing","start":1048,"end":1106,"specifiers":[{"specifier":"ConstantsUtil"}]},{"libraryName":"component.grid.enums","start":1107,"end":1182,"specifiers":[{"specifier":"GridLoadingOverlayType"}]},{"libraryName":"modules.core.service","start":1183,"end":1265,"specifiers":[{"specifier":"LocalStorageService"}]},{"libraryName":"modules.core.storage","start":1266,"end":1334,"specifiers":[{"specifier":"WebbpmStorage"}]},{"libraryName":"component.grid.utils","start":1335,"end":1406,"specifiers":[{"specifier":"GridColumnStateUtils"}]},{"libraryName":"util","start":1451,"end":1497,"specifiers":[{"specifier":"FilterUtil"}]},{"libraryName":"generated.rpc","start":1498,"end":1561,"specifiers":[{"specifier":"GridRpcService"}]}],"exports":[],"declarations":[{"name":"TEXT","isConst":true,"isExported":false,"start":1605,"end":1639},{"name":"TOTAL_ROW_COUNT","isConst":true,"isExported":false,"start":1642,"end":1670},{"name":"DEFAULT_PAGE_SIZE","isConst":true,"isExported":false,"start":1673,"end":1702},{"name":"DEFAULT_PAGE_COUNT","isConst":true,"isExported":false,"start":1705,"end":1777},{"name":"LESS_PAGE_SIZE","isConst":true,"isExported":false,"start":1780,"end":1806},{"name":"MORE_PAGE_SIZE","isConst":true,"isExported":false,"start":1809,"end":1835},{"name":"LAST_PAGE_SIZE","isConst":true,"isExported":false,"start":1838,"end":1924},{"name":"ENTITY","isConst":true,"isExported":false,"start":1927,"end":1951},{"name":"NAME","isConst":true,"isExported":false,"start":1954,"end":1976},{"name":"COL_ID","isConst":true,"isExported":false,"start":1979,"end":2014},{"name":"COL_SELECTOR","isConst":true,"isExported":false,"start":2017,"end":2061},{"name":"CELL_SELECTOR","isConst":true,"isExported":false,"start":2064,"end":2103},{"name":"MIN_COLUMN_WIDTH","isConst":true,"isExported":false,"start":2106,"end":2133},{"name":"COLUMN_WIDTH","isConst":true,"isExported":false,"start":2136,"end":2161},{"name":"COLUMN_HEIGHT","isConst":true,"isExported":false,"start":2164,"end":2189},{"name":"STYLE_COLUMN_WIDTH","isConst":true,"isExported":false,"start":2192,"end":2246},{"name":"STYLE_COLUMN_HEIGHT","isConst":true,"isExported":false,"start":2249,"end":2306},{"name":"COLUMN_NAME","isConst":true,"isExported":false,"start":2309,"end":2339},{"name":"FILTERS","isConst":false,"isExported":false,"start":2342,"end":2429},{"name":"CTRL_CLICK","isConst":true,"isExported":false,"start":2433,"end":2538},{"name":"progressIndicationSpy","isConst":false,"isExported":false,"type":"ProgressIndicationService","start":2542,"end":2595},{"name":"component","isConst":false,"isExported":false,"type":"PagingGrid","start":2598,"end":2624},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":2627,"end":2669},{"name":"gridPagingLoader","isConst":false,"isExported":false,"type":"GridPagingLoader","start":2672,"end":2711},{"name":"gridRpcService","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2714,"end":2765},{"name":"gridColumns","isConst":false,"isExported":false,"type":"GridColumns","start":2768,"end":2797},{"name":"gridColumn","isConst":false,"isExported":false,"type":"GridColumn","start":2800,"end":2827},{"name":"gridRows","isConst":false,"isExported":false,"type":"GridRows","start":2830,"end":2853},{"name":"localStorageServiceSpy","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2856,"end":2920},{"name":"el","isConst":false,"isExported":false,"type":"HTMLElement","start":2923,"end":2943},{"name":"gridApi","isConst":false,"isExported":false,"start":2946,"end":2958},{"name":"getColumnDef","isExported":false,"isAsync":false,"start":5731,"end":5821,"parameters":[{"name":"fieldName","type":"string","start":5753,"end":5770}],"variables":[]},{"name":"triggerInitGrid","isExported":false,"isAsync":false,"start":5825,"end":5974,"parameters":[],"variables":[]},{"name":"count","isConst":false,"isExported":false,"start":6162,"end":6176},{"name":"count","isConst":false,"isExported":false,"start":6472,"end":6486},{"name":"containerWidth","isConst":true,"isExported":false,"start":7566,"end":7660},{"name":"columnWidth","isConst":true,"isExported":false,"start":7665,"end":7741},{"name":"leftRange","isConst":false,"isExported":false,"start":7746,"end":7818},{"name":"rightRange","isConst":false,"isExported":false,"start":7823,"end":7895},{"name":"columnWidth","isConst":true,"isExported":false,"start":8129,"end":8205},{"name":"columnWidth","isConst":true,"isExported":false,"start":9008,"end":9084},{"name":"rows","isConst":true,"isExported":false,"start":9787,"end":9857},{"name":"rows","isConst":true,"isExported":false,"start":10067,"end":10137},{"name":"rowNumbers","isConst":true,"isExported":false,"start":10403,"end":10471},{"name":"rowNumbers","isConst":true,"isExported":false,"start":10787,"end":10855},{"name":"checkBoxes","isConst":false,"isExported":false,"start":11199,"end":11288},{"name":"grid","isConst":false,"isExported":false,"start":12318,"end":12355},{"name":"style","isConst":false,"isExported":false,"start":12636,"end":12660},{"name":"grid","isConst":true,"isExported":false,"type":"HTMLElement","start":12981,"end":13043},{"name":"pageCount1","isConst":false,"isExported":false,"start":14415,"end":14468},{"name":"pageCount2","isConst":false,"isExported":false,"start":14555,"end":14608},{"name":"SECOND_PAGE","isConst":true,"isExported":false,"start":14869,"end":14891},{"name":"INVALID_PAGE","isConst":true,"isExported":false,"start":15212,"end":15237},{"name":"NEXT_PAGE","isConst":true,"isExported":false,"start":15552,"end":15572},{"name":"PREVIOUS_PAGE","isConst":true,"isExported":false,"start":16179,"end":16203}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["jasmine","createSpyObj","describe","TEXT","TOTAL_ROW_COUNT","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_COUNT","Math","LESS_PAGE_SIZE","MORE_PAGE_SIZE","LAST_PAGE_SIZE","ENTITY","NAME","COL_ID","COL_SELECTOR","CELL_SELECTOR","MIN_COLUMN_WIDTH","COLUMN_WIDTH","COLUMN_HEIGHT","STYLE_COLUMN_WIDTH","STYLE_COLUMN_HEIGHT","COLUMN_NAME","FILTERS","FilterUtil","FilterOperation","CTRL_CLICK","MouseEvent","view","window","bubbles","ctrlKey","progressIndicationSpy","ProgressIndicationService","component","PagingGrid","fixture","ComponentFixture","gridPagingLoader","GridPagingLoader","gridRpcService","SpyObj","GridRpcService","gridColumns","GridColumns","gridColumn","GridColumn","gridRows","GridRows","localStorageServiceSpy","LocalStorageService","el","HTMLElement","gridApi","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","ProgressIndicationComponent","providers","Injector","provide","useValue","TaskParamsProvider","imports","AgGridModule","NgbModule","GridLoadingOverlayType","defaultPageSize","pageSizes","schema","table","entity","name","type","i","row_uid","entity$column","Promise","WebbpmStorage","GridColumnStateUtils","spyOn","fieldName","it","expect","fakeAsync","count","tick","flush","xit","containerWidth","columnWidth","leftRange","rightRange","triggerInitGrid","getColumnDef","rows","rowNumbers","Event","checkBoxes","checkBox","grid","ConstantsUtil","style","Style","pageCount1","pageCount2","SECOND_PAGE","INVALID_PAGE","NEXT_PAGE","PREVIOUS_PAGE"],"packageName":"component"},{"rootPath":"/","start":0,"end":3173,"imports":[{"libraryName":"@angular/core","start":0,"end":115,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component","start":116,"end":144,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"decorators","start":145,"end":191,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component.grid","start":192,"end":257,"specifiers":[{"specifier":"GridPagingDataLoader"}]}],"exports":[],"declarations":[],"classes":[{"name":"PagingGrid","isExported":true,"start":259,"end":3172,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'paging-grid',\n templateUrl: './../../../src/resources/template/component/PagingGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"pageSizes","visibility":2,"type":"number[]","isOptional":false,"isStatic":false,"start":471,"end":529,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"pageSize","visibility":2,"type":"number","isOptional":false,"isStatic":false,"start":533,"end":588,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"paginationPageSize","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":592,"end":654,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["false"]}]},{"name":"gridPagingLoader","visibility":0,"type":"GridPagingDataLoader","isOptional":false,"isStatic":false,"start":658,"end":705,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":788,"end":1101,"decorators":[],"parameters":[],"variables":[{"name":"loadingOptions","isConst":false,"isExported":false,"start":902,"end":962}]},{"name":"refresh","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1105,"end":1180,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"setPageSize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1184,"end":1271,"decorators":[],"parameters":[{"name":"value","type":"number","start":1196,"end":1209}],"variables":[]},{"name":"setPaginationPageSize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":1275,"end":1382,"decorators":[],"parameters":[{"name":"value","type":"number","start":1297,"end":1310}],"variables":[]},{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1386,"end":1447,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationIsLastPageFound","isAbstract":false,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1451,"end":1546,"decorators":[],"parameters":[],"variables":[]},{"name":"isOnFirstPage","isAbstract":false,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1550,"end":1616,"decorators":[],"parameters":[],"variables":[]},{"name":"isOnLastPage","isAbstract":false,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":1620,"end":1714,"decorators":[],"parameters":[],"variables":[]},{"name":"firstRowOnPage","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":1718,"end":1853,"decorators":[],"parameters":[],"variables":[]},{"name":"lastRowOnPage","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":1857,"end":1996,"decorators":[],"parameters":[],"variables":[]},{"name":"currentPage","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2000,"end":2083,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGetPageSize","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2087,"end":2173,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationSetPageSize","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2177,"end":2270,"decorators":[],"parameters":[{"name":"size","type":"number","start":2199,"end":2211}],"variables":[]},{"name":"paginationGetTotalPages","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2274,"end":2364,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGetRowCount","isAbstract":false,"type":"number","isOptional":false,"isStatic":false,"isAsync":false,"start":2368,"end":2454,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGoToNextPage","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2458,"end":2537,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGoToPreviousPage","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2541,"end":2628,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGoToFirstPage","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2632,"end":2713,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGoToLastPage","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2717,"end":2796,"decorators":[],"parameters":[],"variables":[]},{"name":"paginationGoToPage","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2800,"end":2889,"decorators":[],"parameters":[{"name":"page","type":"any","start":2819,"end":2828}],"variables":[]},{"name":"onPageSizeChange","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2893,"end":3170,"decorators":[],"parameters":[{"name":"newSize","type":"number","start":2910,"end":2925}],"variables":[]}],"extendsClauses":["Grid"],"implementsClauses":[],"ctor":{"name":"PagingGrid","start":709,"end":784,"parameters":[{"name":"el","type":"ElementRef","start":721,"end":735},{"name":"cd","type":"ChangeDetectorRef","start":737,"end":758}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Promise","loadingOptions","Visible","value","Math","size","page","newSize","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Grid","Input","pageSizes","pageSize","paginationPageSize","gridPagingLoader","GridPagingDataLoader"],"packageName":"component"},{"rootPath":"/","start":0,"end":299,"imports":[{"libraryName":"common","start":0,"end":44,"specifiers":[{"specifier":"Deferred"}]}],"exports":[],"declarations":[],"classes":[],"interfaces":[{"name":"SelectableComponent","isExported":true,"start":46,"end":298,"accessors":[],"properties":[],"methods":[{"name":"isMultiselectable","isAbstract":true,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":88,"end":117,"decorators":[],"parameters":[],"variables":[]},{"name":"getSelectValue","isAbstract":true,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":121,"end":143,"decorators":[],"parameters":[],"variables":[]},{"name":"getSelectValues","isAbstract":true,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":147,"end":172,"decorators":[],"parameters":[],"variables":[]},{"name":"addSelectListener","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":176,"end":214,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":194,"end":212}],"variables":[]},{"name":"removeSelectListener","isAbstract":true,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":218,"end":259,"decorators":[],"parameters":[{"name":"listener","type":"Function","start":239,"end":257}],"variables":[]},{"name":"getDependValue","isAbstract":true,"visibility":2,"type":"Deferred","isOptional":false,"isStatic":false,"isAsync":false,"start":263,"end":296,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":[],"implementsClauses":[]}],"enums":[],"resources":[],"usages":["isMultiselectable","getSelectValue","getSelectValues","addSelectListener","listener","Function","removeSelectListener","getDependValue","Deferred"],"packageName":"component"},{"rootPath":"/","start":0,"end":1975,"imports":[{"libraryName":"component","start":0,"end":46,"specifiers":[{"specifier":"SelectionItem"}]}],"exports":[],"declarations":[],"classes":[{"name":"SelectionChangeEvent","isExported":true,"start":48,"end":1975,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"selection","visibility":0,"type":"SelectionItem[]","isOptional":false,"isStatic":false,"start":86,"end":121,"decorators":[]}],"methods":[{"name":"getSelection","isAbstract":false,"visibility":2,"type":"SelectionItem[]","isOptional":false,"isStatic":false,"isAsync":false,"start":715,"end":786,"decorators":[],"parameters":[],"variables":[]},{"name":"isSelected","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":790,"end":868,"decorators":[],"parameters":[],"variables":[]},{"name":"isSingleSelected","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":872,"end":957,"decorators":[],"parameters":[],"variables":[]},{"name":"isMultiSelected","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":961,"end":1044,"decorators":[],"parameters":[],"variables":[]},{"name":"selectedItems","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":1048,"end":1330,"decorators":[],"parameters":[],"variables":[{"name":"selected","isConst":false,"isExported":false,"type":"any[]","start":1084,"end":1109},{"name":"index","isConst":false,"isExported":false,"type":"number","start":1114,"end":1132}]},{"name":"deselectedItems","isAbstract":false,"visibility":2,"type":"any[]","isOptional":false,"isStatic":false,"isAsync":false,"start":1334,"end":1625,"decorators":[],"parameters":[],"variables":[{"name":"deselected","isConst":false,"isExported":false,"type":"any[]","start":1372,"end":1399},{"name":"index","isConst":false,"isExported":false,"type":"number","start":1404,"end":1422}]},{"name":"selectedItem","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1629,"end":1973,"decorators":[],"parameters":[],"variables":[{"name":"selected","isConst":false,"isExported":false,"type":"any[]","start":1662,"end":1705}]}],"extendsClauses":[],"implementsClauses":[],"ctor":{"name":"SelectionChangeEvent","start":259,"end":711,"parameters":[{"name":"selectionOrItem","type":"any","start":271,"end":291},{"name":"selected","type":"boolean","start":293,"end":311}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["selection","SelectionItem","selectionItem","item","selected","selectionOrItem","Array","undefined","index","deselected","window","console"],"packageName":"component"},{"rootPath":"/","start":0,"end":189,"imports":[],"exports":[],"declarations":[],"classes":[{"name":"SelectionItem","isExported":true,"start":0,"end":189,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"item","visibility":2,"type":"any","isOptional":false,"isStatic":false,"start":31,"end":48,"decorators":[]},{"name":"isSelected","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":51,"end":78,"decorators":[]}],"methods":[],"extendsClauses":[],"implementsClauses":[],"ctor":{"name":"SelectionItem","start":82,"end":187,"parameters":[{"name":"item","type":"any","start":94,"end":103},{"name":"isSelected","type":"boolean","start":105,"end":124}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["item","isSelected"],"packageName":"component"},{"rootPath":"/","start":0,"end":1800,"imports":[{"libraryName":"component","start":0,"end":28,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"generated.property.grid","start":29,"end":108,"specifiers":[{"specifier":"StaticGridColumns"}]},{"libraryName":"generated.property.grid","start":109,"end":186,"specifiers":[{"specifier":"StaticGridColumn"}]},{"libraryName":"component","start":187,"end":253,"specifiers":[{"specifier":"StaticColumnInitializer"}]},{"libraryName":"@angular/core","start":254,"end":319,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]},{"libraryName":"ag-grid-community","start":320,"end":361,"specifiers":[{"specifier":"ColDef"}]},{"libraryName":"component.grid.utils","start":362,"end":429,"specifiers":[{"specifier":"GridColumnDefUtils"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.api.dao.option","start":430,"end":524,"specifiers":[{"specifier":"SortOrder"}]}],"exports":[],"declarations":[],"classes":[{"name":"StaticColumnGrid","isExported":true,"start":526,"end":1799,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'static-column-grid',\n templateUrl: './../../../src/resources/template/component/ClientSideGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"initDefaultSortModel","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":756,"end":1214,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"type":"StaticGridColumn[]","start":801,"end":867}]},{"name":"getColumnsScript","isAbstract":false,"visibility":1,"type":"StaticGridColumns","isOptional":false,"isStatic":false,"isAsync":false,"start":1218,"end":1317,"decorators":[],"parameters":[],"variables":[]},{"name":"initColumnDefs","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1321,"end":1658,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"type":"StaticGridColumn[]","start":1360,"end":1426},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":1556,"end":1617}]},{"name":"columnToColumnDef","isAbstract":false,"visibility":1,"type":"ColDef","isOptional":false,"isStatic":false,"isAsync":false,"start":1662,"end":1797,"decorators":[],"parameters":[{"name":"column","type":"StaticGridColumn","start":1690,"end":1714}],"variables":[]}],"extendsClauses":["Grid"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["columns","StaticGridColumn","column","SortOrder","StaticGridColumns","colum","columnDef","ColDef","GridColumnDefUtils","StaticColumnInitializer","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Grid"],"packageName":"component"},{"rootPath":"/","start":0,"end":2252,"imports":[{"libraryName":"component.grid.utils","start":0,"end":75,"specifiers":[{"specifier":"GridValueRendererUtils"}]},{"libraryName":"generated.property.grid","start":76,"end":153,"specifiers":[{"specifier":"StaticGridColumn"}]},{"libraryName":"ag-grid-community","start":154,"end":243,"specifiers":[{"specifier":"ColDef"},{"specifier":"ICellRendererFunc"},{"specifier":"SuppressKeyboardEventParams"}]},{"libraryName":"component.grid.utils","start":244,"end":321,"specifiers":[{"specifier":"GridValueFormatterUtils"}]},{"libraryName":"component.grid.utils","start":322,"end":399,"specifiers":[{"specifier":"GridColumnKeyboardUtils"}]},{"libraryName":"component.grid.utils","start":400,"end":481,"specifiers":[{"specifier":"GridColumnComparatorUtils"}]},{"libraryName":"component.grid.headers","start":482,"end":549,"specifiers":[{"specifier":"GridSettingHeader"}]},{"libraryName":"component.grid.utils","start":550,"end":621,"specifiers":[{"specifier":"GridCellTooltipUtils"}]}],"exports":[],"declarations":[],"classes":[{"name":"StaticColumnInitializer","isExported":true,"start":623,"end":2251,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[],"methods":[{"name":"columnToColumnDef","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":true,"isAsync":false,"start":665,"end":2249,"decorators":[],"parameters":[{"name":"gridRef","type":"any","start":697,"end":709},{"name":"column","type":"StaticGridColumn","start":711,"end":735}],"variables":[{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":743,"end":770},{"name":"type","isConst":false,"isExported":false,"start":1349,"end":1372},{"name":"renderer","isConst":true,"isExported":false,"type":"ICellRendererFunc","start":1751,"end":1831}]}],"extendsClauses":[],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["gridRef","column","StaticGridColumn","columnDef","ColDef","GridSettingHeader","type","GridValueFormatterUtils","GridColumnComparatorUtils","GridValueRendererUtils","renderer","ICellRendererFunc","params","GridCellTooltipUtils","SuppressKeyboardEventParams","GridColumnKeyboardUtils"],"packageName":"component"},{"rootPath":"/","start":0,"end":2874,"imports":[{"libraryName":"component","start":0,"end":36,"specifiers":[{"specifier":"TreeGrid"}]},{"libraryName":"generated.property.grid","start":37,"end":116,"specifiers":[{"specifier":"StaticGridColumns"}]},{"libraryName":"generated.property.grid","start":117,"end":194,"specifiers":[{"specifier":"StaticGridColumn"}]},{"libraryName":"component.grid.utils","start":195,"end":270,"specifiers":[{"specifier":"GridValueRendererUtils"}]},{"libraryName":"@angular/core","start":271,"end":336,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]},{"libraryName":"ag-grid-community","start":337,"end":378,"specifiers":[{"specifier":"ColDef"}]},{"libraryName":"component.grid.utils","start":379,"end":446,"specifiers":[{"specifier":"GridColumnDefUtils"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.api.dao.option","start":447,"end":541,"specifiers":[{"specifier":"SortOrder"}]},{"libraryName":"component.grid.utils","start":542,"end":619,"specifiers":[{"specifier":"GridValueFormatterUtils"}]},{"libraryName":"component.grid.utils","start":620,"end":701,"specifiers":[{"specifier":"GridColumnComparatorUtils"}]},{"libraryName":"component.grid.headers","start":702,"end":769,"specifiers":[{"specifier":"GridSettingHeader"}]}],"exports":[],"declarations":[],"classes":[{"name":"StaticColumnTreeGrid","isExported":true,"start":771,"end":2873,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'static-column-tree-grid',\n templateUrl: './../../../src/resources/template/component/TreeGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[],"methods":[{"name":"initDefaultSortModel","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1008,"end":1466,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"type":"StaticGridColumn[]","start":1053,"end":1119}]},{"name":"getColumnsScript","isAbstract":false,"visibility":1,"type":"StaticGridColumns","isOptional":false,"isStatic":false,"isAsync":false,"start":1470,"end":1569,"decorators":[],"parameters":[],"variables":[]},{"name":"initColumnDefs","isAbstract":false,"visibility":1,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1573,"end":1979,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":true,"isExported":false,"type":"StaticGridColumn[]","start":1612,"end":1680},{"name":"colDefs","isConst":false,"isExported":false,"start":1685,"end":1753},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":1788,"end":1849}]},{"name":"columnToColumnDef","isAbstract":false,"visibility":1,"type":"ColDef","isOptional":false,"isStatic":false,"isAsync":false,"start":1983,"end":2871,"decorators":[],"parameters":[{"name":"column","type":"StaticGridColumn","start":2011,"end":2035}],"variables":[{"name":"columnDef","isConst":true,"isExported":false,"type":"ColDef","start":2051,"end":2080},{"name":"type","isConst":false,"isExported":false,"start":2431,"end":2454},{"name":"renderer","isConst":true,"isExported":false,"start":2657,"end":2724}]}],"extendsClauses":["TreeGrid"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["columns","StaticGridColumn","column","SortOrder","StaticGridColumns","colDefs","columnDef","ColDef","GridColumnDefUtils","GridSettingHeader","type","GridValueFormatterUtils","GridColumnComparatorUtils","renderer","GridValueRendererUtils","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","TreeGrid"],"packageName":"component"},{"rootPath":"/","start":29,"end":315,"imports":[],"exports":[],"declarations":[],"classes":[{"name":"Style","isExported":true,"start":29,"end":314,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"padding","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":53,"end":76,"decorators":[]},{"name":"margin","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":79,"end":101,"decorators":[]},{"name":"border","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":104,"end":126,"decorators":[]},{"name":"height","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":129,"end":151,"decorators":[]},{"name":"width","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":154,"end":175,"decorators":[]},{"name":"minHeight","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":178,"end":203,"decorators":[]},{"name":"minWidth","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":206,"end":230,"decorators":[]},{"name":"maxHeight","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":233,"end":258,"decorators":[]},{"name":"maxWidth","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":261,"end":285,"decorators":[]},{"name":"stretch","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":288,"end":312,"decorators":[]}],"methods":[],"extendsClauses":[],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["author","padding","margin","border","height","width","minHeight","minWidth","maxHeight","maxWidth","stretch"],"packageName":"component"},{"rootPath":"/","start":0,"end":1196,"imports":[{"libraryName":"component.button","start":0,"end":39,"specifiers":[{"specifier":"Button"}]},{"libraryName":"component","start":40,"end":68,"specifiers":[{"specifier":"Grid"}]},{"libraryName":"modules.security.service","start":69,"end":171,"specifiers":[{"specifier":"AuthenticationMethodService"}]},{"libraryName":"decorators","start":172,"end":218,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"@angular/core","start":219,"end":284,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"Component"}]},{"libraryName":"@angular/common/http","start":285,"end":333,"specifiers":[{"specifier":"HttpClient"}]},{"libraryName":"decorators","start":334,"end":384,"specifiers":[{"specifier":"ObjectRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"SyncLDAPButton","isExported":true,"start":386,"end":1195,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'ldap-button',\n templateUrl: './../../../src/resources/template/component/button/Button.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"httpClient","visibility":0,"type":"HttpClient","isOptional":false,"isStatic":false,"start":610,"end":641,"decorators":[]},{"name":"authenticationMethodService","visibility":0,"type":"AuthenticationMethodService","isOptional":false,"isStatic":false,"start":644,"end":709,"decorators":[]},{"name":"usersGrid","visibility":2,"type":"Grid","isOptional":false,"isStatic":false,"start":713,"end":764,"decorators":[{"name":"ObjectRef","parameters":[]},{"name":"NotNull","parameters":[]}]}],"methods":[{"name":"initialize","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":768,"end":950,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":954,"end":1193,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Button"],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["HttpClient","AuthenticationMethodService","Promise","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Button","httpClient","authenticationMethodService","ObjectRef","NotNull","usersGrid","Grid"],"packageName":"component"},{"rootPath":"/","start":0,"end":4294,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":71,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"TestBed"}]},{"libraryName":"@angular/forms","start":72,"end":115,"specifiers":[{"specifier":"FormsModule"}]},{"libraryName":"...testing","start":116,"end":164,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"pipe","start":165,"end":224,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"component","start":225,"end":253,"specifiers":[{"specifier":"Text"}]},{"libraryName":"component","start":254,"end":284,"specifiers":[{"specifier":"Style"}]},{"libraryName":"...testing","start":285,"end":343,"specifiers":[{"specifier":"ConstantsUtil"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":344,"end":409,"specifiers":[{"specifier":"NgbModule"},{"specifier":"NgbTooltip"}]}],"exports":[],"declarations":[{"name":"TEXT","isConst":true,"isExported":false,"start":438,"end":472},{"name":"component","isConst":false,"isExported":false,"type":"Text","start":475,"end":495},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":498,"end":534},{"name":"el","isConst":false,"isExported":false,"type":"HTMLElement","start":537,"end":557},{"name":"div","isConst":false,"isExported":false,"start":1837,"end":1871},{"name":"style","isConst":true,"isExported":false,"start":3086,"end":3112},{"name":"testPadding","isConst":true,"isExported":false,"start":3117,"end":3143},{"name":"testMargin","isConst":true,"isExported":false,"start":3148,"end":3173},{"name":"testBorder","isConst":true,"isExported":false,"start":3178,"end":3203},{"name":"testHeight","isConst":true,"isExported":false,"start":3208,"end":3234},{"name":"testWidth","isConst":true,"isExported":false,"start":3239,"end":3265},{"name":"testMinHeight","isConst":true,"isExported":false,"start":3270,"end":3299},{"name":"testMinWidth","isConst":true,"isExported":false,"start":3304,"end":3332},{"name":"testMaxHeight","isConst":true,"isExported":false,"start":3337,"end":3366},{"name":"testMaxWidth","isConst":true,"isExported":false,"start":3371,"end":3400}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["describe","TEXT","component","Text","fixture","ComponentFixture","el","HTMLElement","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","imports","NgbModule","it","expect","xit","div","undefined","ConstantsUtil","style","Style","testPadding","testMargin","testBorder","testHeight","testWidth","testMinHeight","testMinWidth","testMaxHeight","testMaxWidth"],"packageName":"component"},{"rootPath":"/","start":0,"end":3140,"imports":[{"libraryName":"@angular/core","start":0,"end":115,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"component","start":116,"end":150,"specifiers":[{"specifier":"Control"}]},{"libraryName":"decorators","start":151,"end":197,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"decorators","start":198,"end":244,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component","start":245,"end":297,"specifiers":[{"specifier":"ControlWithValue"}]},{"libraryName":"webbpm.event","start":298,"end":342,"specifiers":[{"specifier":"Event"}]}],"exports":[],"declarations":[],"classes":[{"name":"Text","isExported":true,"start":373,"end":3139,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'text',\n templateUrl: './../../../src/resources/template/component/field/Text.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n }"]}],"properties":[{"name":"label","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":647,"end":679,"decorators":[{"name":"Input","parameters":[]}]},{"name":"initialValue","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":683,"end":722,"decorators":[{"name":"Input","parameters":[]}]},{"name":"value","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":726,"end":767,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"collectible","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":771,"end":823,"decorators":[{"name":"Input","parameters":[]},{"name":"NotNull","parameters":[]}]},{"name":"internalValue","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":827,"end":876,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"valueChangeEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":880,"end":961,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"changeListeners","visibility":0,"type":"Function[]","isOptional":false,"isStatic":false,"start":965,"end":1006,"decorators":[]},{"name":"pristine","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":1009,"end":1042,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1125,"end":1205,"decorators":[],"parameters":[],"variables":[]},{"name":"reset","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":1209,"end":1316,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getValue","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1320,"end":1395,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getValueForForm","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1399,"end":1468,"decorators":[],"parameters":[],"variables":[]},{"name":"getPresentationValue","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1472,"end":1546,"decorators":[],"parameters":[],"variables":[]},{"name":"getTextValue","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":1550,"end":1644,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getValueAsModel","isAbstract":false,"visibility":2,"type":"any","isOptional":false,"isStatic":false,"isAsync":false,"start":1648,"end":1711,"decorators":[],"parameters":[],"variables":[]},{"name":"setValue","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1715,"end":1872,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":1744,"end":1757}],"variables":[]},{"name":"setLabel","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1876,"end":1977,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":1905,"end":1918}],"variables":[]},{"name":"clearValue","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1981,"end":2044,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"isCollectible","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":2048,"end":2127,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getLabel","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2131,"end":2198,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"onChange","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":2202,"end":2319,"decorators":[],"parameters":[],"variables":[]},{"name":"addChangeListener","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2323,"end":2442,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":2341,"end":2367}],"variables":[]},{"name":"removeChangeListener","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2446,"end":2571,"decorators":[],"parameters":[{"name":"onChangeFunction","type":"Function","start":2467,"end":2493}],"variables":[]},{"name":"resetValue","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2575,"end":2643,"decorators":[],"parameters":[],"variables":[]},{"name":"isPristine","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":2647,"end":2707,"decorators":[],"parameters":[],"variables":[]},{"name":"setInitValue","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2711,"end":2801,"decorators":[],"parameters":[],"variables":[]},{"name":"resetPristine","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2805,"end":2866,"decorators":[],"parameters":[],"variables":[]},{"name":"isValueEmpty","isAbstract":false,"visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":2870,"end":2967,"decorators":[],"parameters":[],"variables":[]},{"name":"getFormattedForHtmlValue","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":2971,"end":3137,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["Control"],"implementsClauses":["ControlWithValue"],"ctor":{"name":"Text","start":1046,"end":1121,"parameters":[{"name":"el","type":"ElementRef","start":1058,"end":1072},{"name":"cd","type":"ChangeDetectorRef","start":1074,"end":1095}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Visible","value","onChangeFunction","Function","author","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","Control","ControlWithValue","Input","label","initialValue","NotNull","collectible","internalValue","valueChangeEvent","Event","changeListeners","pristine"],"packageName":"component"},{"rootPath":"/","start":0,"end":13952,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":89,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"fakeAsync"},{"specifier":"flush"},{"specifier":"TestBed"}]},{"libraryName":"@angular/core","start":90,"end":129,"specifiers":[{"specifier":"Injector"}]},{"libraryName":"component","start":130,"end":166,"specifiers":[{"specifier":"TreeGrid"}]},{"libraryName":"ag-grid-angular","start":167,"end":212,"specifiers":[{"specifier":"AgGridModule"}]},{"libraryName":"generated.property.grid","start":213,"end":278,"specifiers":[{"specifier":"GridColumn"}]},{"libraryName":"pipe","start":279,"end":338,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"modules.bpmn.provider","start":339,"end":418,"specifiers":[{"specifier":"TaskParamsProvider"}]},{"libraryName":"...testing","start":419,"end":467,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":468,"end":521,"specifiers":[{"specifier":"NgbModule"}]},{"libraryName":"modules.core.component","start":522,"end":622,"specifiers":[{"specifier":"ProgressIndicationComponent"}]},{"libraryName":"modules.core.service","start":623,"end":717,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"generated.model.grid","start":718,"end":784,"specifiers":[{"specifier":"TreeGridRows"}]},{"libraryName":"component","start":785,"end":815,"specifiers":[{"specifier":"Style"}]},{"libraryName":"generated.property.grid","start":816,"end":883,"specifiers":[{"specifier":"GridColumns"}]},{"libraryName":"generated.rpc","start":884,"end":955,"specifiers":[{"specifier":"TreeGridRpcService"}]},{"libraryName":"...testing","start":956,"end":1014,"specifiers":[{"specifier":"ConstantsUtil"}]},{"libraryName":"component.grid.enums","start":1015,"end":1090,"specifiers":[{"specifier":"GridLoadingOverlayType"}]},{"libraryName":"modules.core.storage","start":1091,"end":1159,"specifiers":[{"specifier":"WebbpmStorage"}]},{"libraryName":"component.grid.utils","start":1160,"end":1231,"specifiers":[{"specifier":"GridColumnStateUtils"}]},{"libraryName":"modules.core.service","start":1232,"end":1314,"specifiers":[{"specifier":"LocalStorageService"}]},{"libraryName":"generated.property.grid","start":1315,"end":1380,"specifiers":[{"specifier":"ColumnSort"}]},{"libraryName":"generated.ru.cg.webbpm.modules.database.api.dao.option","start":1381,"end":1475,"specifiers":[{"specifier":"SortOrder"}]}],"exports":[],"declarations":[{"name":"TEXT","isConst":true,"isExported":false,"start":1552,"end":1586},{"name":"COL_ID","isConst":true,"isExported":false,"start":1589,"end":1611},{"name":"COL_ID_REINIT","isConst":true,"isExported":false,"start":1614,"end":1648},{"name":"COL_SELECTOR","isConst":true,"isExported":false,"start":1651,"end":1695},{"name":"COL_SELECTOR_REINIT","isConst":true,"isExported":false,"start":1698,"end":1756},{"name":"DEFAULT_COLUMN_WIDTH","isConst":true,"isExported":false,"start":1759,"end":1792},{"name":"COLUMN_WIDTH","isConst":true,"isExported":false,"start":1795,"end":1820},{"name":"COLUMN_HEIGHT","isConst":true,"isExported":false,"start":1823,"end":1848},{"name":"STYLE_COLUMN_WIDTH","isConst":true,"isExported":false,"start":1851,"end":1905},{"name":"STYLE_COLUMN_HEIGHT","isConst":true,"isExported":false,"start":1908,"end":1965},{"name":"PARENT_LEVEL","isConst":true,"isExported":false,"start":1968,"end":2007},{"name":"CHILD_LEVEL","isConst":true,"isExported":false,"start":2010,"end":2048},{"name":"PARENT_GROUP_VALUE","isConst":true,"isExported":false,"start":2051,"end":2087},{"name":"PARENT_VALUE","isConst":true,"isExported":false,"start":2090,"end":2126},{"name":"CHILD_GROUP_VALUE1","isConst":true,"isExported":false,"start":2129,"end":2165},{"name":"CHILD_GROUP_VALUE2","isConst":true,"isExported":false,"start":2168,"end":2204},{"name":"CHILD_VALUE","isConst":true,"isExported":false,"start":2207,"end":2241},{"name":"COLUMN_NAME","isConst":true,"isExported":false,"start":2244,"end":2273},{"name":"CTRL_CLICK","isConst":true,"isExported":false,"start":2276,"end":2381},{"name":"component","isConst":false,"isExported":false,"type":"TreeGrid","start":2385,"end":2409},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture","start":2412,"end":2452},{"name":"treeGridRpcService","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2455,"end":2514},{"name":"progressIndicationSpy","isConst":false,"isExported":false,"type":"ProgressIndicationService","start":2517,"end":2570},{"name":"gridColumns","isConst":false,"isExported":false,"type":"GridColumns","start":2573,"end":2602},{"name":"gridColumn1","isConst":false,"isExported":false,"type":"GridColumn","start":2605,"end":2633},{"name":"gridColumn2","isConst":false,"isExported":false,"type":"GridColumn","start":2636,"end":2664},{"name":"treeGridRows","isConst":false,"isExported":false,"start":2667,"end":2684},{"name":"localStorageServiceSpy","isConst":false,"isExported":false,"type":"jasmine.SpyObj","start":2687,"end":2751},{"name":"el","isConst":false,"isExported":false,"type":"HTMLElement","start":2754,"end":2774},{"name":"gridApi","isConst":false,"isExported":false,"start":2777,"end":2789},{"name":"columnSort","isConst":false,"isExported":false,"start":4860,"end":4894},{"name":"getColumnDef","isExported":false,"isAsync":false,"start":6041,"end":6131,"parameters":[{"name":"fieldName","type":"string","start":6063,"end":6080}],"variables":[]},{"name":"triggerInitGrid","isExported":false,"isAsync":false,"start":6135,"end":6291,"parameters":[],"variables":[]},{"name":"childCount","isConst":true,"isExported":false,"start":6716,"end":6774},{"name":"groupValues","isConst":true,"isExported":false,"start":6988,"end":7047},{"name":"cellValues","isConst":true,"isExported":false,"start":7189,"end":7283},{"name":"containerWidth","isConst":true,"isExported":false,"start":7773,"end":7867},{"name":"columnWidth","isConst":true,"isExported":false,"start":7872,"end":7948},{"name":"leftRange","isConst":false,"isExported":false,"start":7953,"end":8025},{"name":"rightRange","isConst":false,"isExported":false,"start":8030,"end":8102},{"name":"columnWidth","isConst":true,"isExported":false,"start":8334,"end":8417},{"name":"columnWidth","isConst":true,"isExported":false,"start":9311,"end":9394},{"name":"rows","isConst":true,"isExported":false,"start":10168,"end":10245},{"name":"rows","isConst":true,"isExported":false,"start":10432,"end":10509},{"name":"rowNumbers","isConst":true,"isExported":false,"start":10753,"end":10821},{"name":"rowNumbers","isConst":true,"isExported":false,"start":11150,"end":11218},{"name":"checkBoxes","isConst":false,"isExported":false,"start":11633,"end":11722},{"name":"grid","isConst":false,"isExported":false,"start":12774,"end":12811},{"name":"style","isConst":false,"isExported":false,"start":13092,"end":13116},{"name":"grid","isConst":true,"isExported":false,"type":"HTMLElement","start":13440,"end":13502}],"classes":[],"interfaces":[],"enums":[],"resources":[],"usages":["jasmine","createSpyObj","describe","TEXT","COL_ID","COL_ID_REINIT","COL_SELECTOR","COL_SELECTOR_REINIT","DEFAULT_COLUMN_WIDTH","COLUMN_WIDTH","COLUMN_HEIGHT","STYLE_COLUMN_WIDTH","STYLE_COLUMN_HEIGHT","PARENT_LEVEL","CHILD_LEVEL","PARENT_GROUP_VALUE","PARENT_VALUE","CHILD_GROUP_VALUE1","CHILD_GROUP_VALUE2","CHILD_VALUE","COLUMN_NAME","CTRL_CLICK","MouseEvent","view","window","bubbles","ctrlKey","component","TreeGrid","fixture","ComponentFixture","treeGridRpcService","SpyObj","TreeGridRpcService","progressIndicationSpy","ProgressIndicationService","gridColumns","GridColumns","gridColumn1","GridColumn","gridColumn2","treeGridRows","localStorageServiceSpy","LocalStorageService","el","HTMLElement","gridApi","TestUtil","beforeEach","async","TestBed","declarations","EmptyIfNullPipe","ProgressIndicationComponent","providers","Injector","provide","useValue","TaskParamsProvider","imports","AgGridModule","NgbModule","GridLoadingOverlayType","schema","table","entity","name","type","columnSort","ColumnSort","SortOrder","TreeGridRows","row_uid","entity$column1","entity$column2","showChildren","innerNodes","Promise","WebbpmStorage","GridColumnStateUtils","fieldName","it","expect","childCount","groupValues","cellValues","containerWidth","columnWidth","leftRange","Math","rightRange","triggerInitGrid","getColumnDef","fakeAsync","result","flush","rows","row","rowNumbers","i","Event","checkBoxes","checkBox","xit","grid","ConstantsUtil","style","Style"],"packageName":"component"},{"rootPath":"/","start":0,"end":5415,"imports":[{"libraryName":"@angular/core","start":0,"end":103,"specifiers":[{"specifier":"ChangeDetectionStrategy"},{"specifier":"ChangeDetectorRef"},{"specifier":"Component"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"modules.core.service","start":104,"end":177,"specifiers":[{"specifier":"MessagesService"}]},{"libraryName":"ag-grid-community","start":178,"end":290,"specifiers":[{"specifier":"IRowNode"},{"specifier":"GroupCellRenderer"},{"specifier":"ColDef"},{"specifier":"GroupCellRendererParams"},{"specifier":"RowClickedEvent"}]},{"libraryName":"generated.rpc","start":291,"end":362,"specifiers":[{"specifier":"TreeGridRpcService"}]},{"libraryName":"generated.model.grid","start":363,"end":429,"specifiers":[{"specifier":"TreeGridRows"}]},{"libraryName":"decorators","start":430,"end":476,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"decorators","start":477,"end":541,"specifiers":[{"specifier":"AdvancedProperty"}]},{"libraryName":"decorators","start":542,"end":588,"specifiers":[{"specifier":"NotNull"}]},{"libraryName":"component","start":589,"end":639,"specifiers":[{"specifier":"DynamicDataGrid"}]},{"libraryName":"generated.model","start":640,"end":689,"specifiers":[{"specifier":"Filter"}]},{"libraryName":"component.grid.utils","start":690,"end":757,"specifiers":[{"specifier":"GridColumnDefUtils"}]}],"exports":[],"declarations":[],"classes":[{"name":"TreeGrid","isExported":true,"start":759,"end":5414,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Component","parameters":["{\n selector: 'tree-grid',\n templateUrl: './../../../src/resources/template/component/TreeGrid.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n}"]}],"properties":[{"name":"messagesService","visibility":1,"type":"MessagesService","isOptional":false,"isStatic":false,"start":976,"end":1019,"decorators":[]},{"name":"treeGridRpcService","visibility":1,"type":"TreeGridRpcService","isOptional":false,"isStatic":false,"start":1023,"end":1072,"decorators":[]},{"name":"fixedRowName","visibility":1,"type":"string","isOptional":false,"isStatic":false,"start":1075,"end":1106,"decorators":[]},{"name":"selectGroupRowWithChildren","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1110,"end":1223,"decorators":[{"name":"Visible","parameters":["multiselectable == true && checkboxInMainColumn == true"]}]},{"name":"checkboxInMainColumn","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1226,"end":1263,"decorators":[]},{"name":"hideChildCount","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1266,"end":1297,"decorators":[]},{"name":"collapseOnLoad","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1300,"end":1331,"decorators":[]},{"name":"showFilteredChildren","visibility":2,"type":"boolean","isOptional":false,"isStatic":false,"start":1335,"end":1426,"decorators":[{"name":"Input","parameters":[]},{"name":"AdvancedProperty","parameters":[]},{"name":"NotNull","parameters":[]}]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1509,"end":1646,"decorators":[],"parameters":[],"variables":[]},{"name":"initColumnDefs","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":1650,"end":2028,"decorators":[],"parameters":[],"variables":[{"name":"columns","isConst":false,"isExported":false,"start":1683,"end":1729},{"name":"colDefs","isConst":false,"isExported":false,"start":1734,"end":1802},{"name":"columnDef","isConst":false,"isExported":false,"type":"ColDef","start":1837,"end":1898}]},{"name":"initFirstColumn","isAbstract":false,"visibility":1,"isOptional":false,"isStatic":false,"isAsync":false,"start":2032,"end":2577,"decorators":[],"parameters":[{"name":"firstColumn","start":2058,"end":2069}],"variables":[]},{"name":"refreshData","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":2581,"end":2688,"decorators":[],"parameters":[],"variables":[{"name":"filters","isConst":false,"isExported":false,"type":"Filter[]","start":2614,"end":2656}]},{"name":"getNodeChildDetails","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":2739,"end":3021,"decorators":[{"name":"Visible","parameters":["false"]}],"parameters":[{"name":"node","start":2786,"end":2790}],"variables":[]},{"name":"loadGrid","isAbstract":false,"visibility":1,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":3025,"end":4049,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":3044,"end":3061}],"variables":[]},{"name":"selectRow","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4053,"end":4299,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"id","type":"string","start":4083,"end":4093}],"variables":[{"name":"node","isConst":false,"isExported":false,"type":"IRowNode","start":4152,"end":4201}]},{"name":"selectRows","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4303,"end":4585,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"ids","type":"string[]","start":4334,"end":4347}],"variables":[{"name":"node","isConst":false,"isExported":false,"start":4434,"end":4473}]},{"name":"expandAllRowGroups","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4589,"end":4671,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"collapseAllRowGroups","isAbstract":false,"visibility":2,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":4675,"end":4761,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"getRowModelType","isAbstract":false,"visibility":2,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":4765,"end":4828,"decorators":[],"parameters":[],"variables":[]},{"name":"reload","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":4832,"end":5032,"decorators":[],"parameters":[{"name":"filters","type":"Filter[]","start":4846,"end":4863}],"variables":[]},{"name":"applyCollapseOnLoad","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":5036,"end":5234,"decorators":[],"parameters":[{"name":"gridRows","start":5056,"end":5064}],"variables":[]},{"name":"collapseRecursively","isAbstract":false,"visibility":0,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":5238,"end":5412,"decorators":[],"parameters":[{"name":"row","start":5266,"end":5269}],"variables":[]}],"extendsClauses":["DynamicDataGrid"],"implementsClauses":[],"ctor":{"name":"TreeGrid","start":1430,"end":1505,"parameters":[{"name":"el","type":"ElementRef","start":1442,"end":1456},{"name":"cd","type":"ChangeDetectorRef","start":1458,"end":1479}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Promise","TreeGridRpcService","columns","colDefs","column","columnDef","ColDef","GridColumnDefUtils","firstColumn","GroupCellRenderer","checkbox","innerRenderer","params","suppressCount","GroupCellRendererParams","filters","Filter","Visible","node","group","children","expanded","gridRows","TreeGridRows","reason","Error","console","id","IRowNode","ids","filter","row","Component","selector","templateUrl","changeDetection","ChangeDetectionStrategy","DynamicDataGrid","messagesService","MessagesService","treeGridRpcService","fixedRowName","selectGroupRowWithChildren","checkboxInMainColumn","hideChildCount","collapseOnLoad","Input","AdvancedProperty","NotNull","showFilteredChildren"],"packageName":"component"},{"rootPath":"/","start":0,"end":599,"imports":[{"libraryName":"@angular/core","start":0,"end":41,"specifiers":[{"specifier":"Injectable"}]},{"libraryName":"common","start":42,"end":92,"specifiers":[{"specifier":"Validatable"}]}],"exports":[],"declarations":[],"classes":[{"name":"ValidationService","isExported":true,"start":94,"end":598,"accessors":[],"getters":[],"setters":[],"decorators":[{"name":"Injectable","parameters":["{providedIn: 'root'}"]}],"properties":[],"methods":[{"name":"validate","isAbstract":false,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":164,"end":596,"decorators":[],"parameters":[{"name":"validators","type":"Validatable[]","start":173,"end":198}],"variables":[{"name":"neededValidators","isConst":false,"isExported":false,"start":224,"end":498}]}],"extendsClauses":[],"implementsClauses":[]}],"interfaces":[],"enums":[],"resources":[],"usages":["validators","Validatable","Promise","neededValidators","validator","valid","result","Injectable","providedIn"],"packageName":"component"},{"rootPath":"/","start":0,"end":4448,"imports":[{"libraryName":"@angular/core","start":0,"end":67,"specifiers":[{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"},{"specifier":"Input"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":68,"end":150,"specifiers":[{"specifier":"NgbModal"},{"specifier":"NgbModalOptions"},{"specifier":"NgbModalRef"}]},{"libraryName":"modules.core.service","start":151,"end":248,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"webbpm.event","start":249,"end":296,"specifiers":[{"specifier":"Event"}]},{"libraryName":"directive","start":297,"end":387,"specifiers":[{"specifier":"ConfirmationDialogComponent"}]},{"libraryName":"decorators","start":388,"end":437,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component","start":438,"end":473,"specifiers":[{"specifier":"Control"}]},{"libraryName":"webbpm.ui_scripting","start":474,"end":544,"specifiers":[{"specifier":"ActionService"}]},{"libraryName":"rxjs/operators","start":545,"end":583,"specifiers":[{"specifier":"filter"}]}],"exports":[],"declarations":[],"classes":[{"name":"AbstractButton","isExported":true,"start":614,"end":4447,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"caption","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":671,"end":705,"decorators":[{"name":"Input","parameters":[]}]},{"name":"confirmationText","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":708,"end":751,"decorators":[{"name":"Input","parameters":[]}]},{"name":"confirmBtnText","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":754,"end":834,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["confirmationText != null"]}]},{"name":"cancelConfirmBtnText","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":837,"end":923,"decorators":[{"name":"Input","parameters":[]},{"name":"Visible","parameters":["confirmationText != null"]}]},{"name":"clickEvent","visibility":2,"type":"Event","isOptional":false,"isStatic":false,"start":927,"end":998,"decorators":[{"name":"Visible","parameters":["false"]}]},{"name":"clickListeners","visibility":1,"type":"Function[]","isOptional":false,"isStatic":false,"start":1002,"end":1044,"decorators":[]},{"name":"ngbModal","visibility":1,"type":"NgbModal","isOptional":false,"isStatic":false,"start":1047,"end":1076,"decorators":[]},{"name":"confirmationDialogRef","visibility":1,"type":"NgbModalRef","isOptional":false,"isStatic":false,"start":1079,"end":1124,"decorators":[]},{"name":"options","visibility":1,"type":"NgbModalOptions","isOptional":false,"isStatic":false,"start":1127,"end":1194,"decorators":[]},{"name":"progressIndicationService","visibility":1,"type":"ProgressIndicationService","isOptional":false,"isStatic":false,"start":1197,"end":1260,"decorators":[]},{"name":"ready","visibility":0,"type":"boolean","isOptional":false,"isStatic":false,"start":1264,"end":1295,"decorators":[]}],"methods":[{"name":"initialize","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":1378,"end":1559,"decorators":[],"parameters":[],"variables":[]},{"name":"onClick","isAbstract":false,"visibility":2,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":1563,"end":2398,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[],"variables":[]},{"name":"doClickAndTrigger","isAbstract":false,"visibility":0,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":2402,"end":2999,"decorators":[],"parameters":[],"variables":[]},{"name":"isEnabled","isAbstract":false,"type":"boolean","isOptional":false,"isStatic":false,"isAsync":false,"start":3004,"end":3074,"decorators":[],"parameters":[],"variables":[]},{"name":"doClickActions","isAbstract":true,"type":"Promise","isOptional":false,"isStatic":false,"isAsync":false,"start":3078,"end":3117,"decorators":[],"parameters":[],"variables":[]},{"name":"closeConfirmationDialog","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":3121,"end":3248,"decorators":[],"parameters":[],"variables":[]},{"name":"addClickListener","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3252,"end":3367,"decorators":[],"parameters":[{"name":"onClickFunction","type":"Function","start":3269,"end":3294}],"variables":[]},{"name":"removeClickListener","isAbstract":false,"type":"void","isOptional":false,"isStatic":false,"isAsync":false,"start":3371,"end":3492,"decorators":[],"parameters":[{"name":"onClickFunction","type":"Function","start":3391,"end":3416}],"variables":[]},{"name":"setCaption","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":3496,"end":3594,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":3520,"end":3533}],"variables":[]},{"name":"setConfirmationText","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":3598,"end":3714,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":3631,"end":3644}],"variables":[]},{"name":"setСonfirmBtnText","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":3718,"end":3837,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":3756,"end":3769}],"variables":[]},{"name":"setCancelСonfirmBtnText","isAbstract":false,"visibility":2,"isOptional":false,"isStatic":false,"isAsync":false,"start":3841,"end":3972,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"value","type":"string","start":3885,"end":3898}],"variables":[]},{"name":"postStart","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":3976,"end":4445,"decorators":[],"parameters":[],"variables":[{"name":"actionService","isConst":false,"isExported":false,"start":4017,"end":4070},{"name":"subscription","isConst":false,"isExported":false,"start":4197,"end":4435}]}],"extendsClauses":["Control"],"implementsClauses":[],"ctor":{"name":"AbstractButton","start":1299,"end":1374,"parameters":[{"name":"el","type":"ElementRef","start":1311,"end":1325},{"name":"cd","type":"ChangeDetectorRef","start":1327,"end":1348}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","NgbModal","ProgressIndicationService","Visible","Promise","ConfirmationDialogComponent","reason","func","Function","console","onClickFunction","value","actionService","ActionService","subscription","filter","counter","author","Control","Input","caption","confirmationText","confirmBtnText","cancelConfirmBtnText","clickEvent","Event","clickListeners","ngbModal","confirmationDialogRef","NgbModalRef","options","NgbModalOptions","backdrop","progressIndicationService","ready"],"packageName":"component.button"},{"rootPath":"/","start":0,"end":532,"imports":[{"libraryName":"decorators","start":0,"end":49,"specifiers":[{"specifier":"Visible"}]},{"libraryName":"component.button","start":50,"end":98,"specifiers":[{"specifier":"AbstractButton"}]},{"libraryName":"@angular/core","start":99,"end":159,"specifiers":[{"specifier":"ChangeDetectorRef"},{"specifier":"ElementRef"}]}],"exports":[],"declarations":[],"classes":[{"name":"AbstractNavigatableButton","isExported":true,"start":198,"end":532,"accessors":[],"getters":[],"setters":[],"decorators":[],"properties":[{"name":"navigateTo","visibility":2,"type":"string","isOptional":false,"isStatic":false,"start":274,"end":300,"decorators":[]}],"methods":[{"name":"setNavigateTo","isAbstract":false,"isOptional":false,"isStatic":false,"isAsync":false,"start":383,"end":469,"decorators":[{"name":"Visible","parameters":[]}],"parameters":[{"name":"navigateTo","type":"string","start":410,"end":428}],"variables":[]},{"name":"getNavigateTo","isAbstract":false,"type":"string","isOptional":false,"isStatic":false,"isAsync":false,"start":473,"end":530,"decorators":[],"parameters":[],"variables":[]}],"extendsClauses":["AbstractButton"],"implementsClauses":[],"ctor":{"name":"AbstractNavigatableButton","start":304,"end":379,"parameters":[{"name":"el","type":"ElementRef","start":316,"end":330},{"name":"cd","type":"ChangeDetectorRef","start":332,"end":353}],"variables":[]}}],"interfaces":[],"enums":[],"resources":[],"usages":["el","ElementRef","cd","ChangeDetectorRef","Visible","navigateTo","author","AbstractButton"],"packageName":"component.button"},{"rootPath":"/","start":0,"end":6315,"imports":[{"libraryName":"@angular/core/testing","start":0,"end":95,"specifiers":[{"specifier":"async"},{"specifier":"ComponentFixture"},{"specifier":"fakeAsync"},{"specifier":"flush"},{"specifier":"TestBed"},{"specifier":"tick"}]},{"libraryName":"@angular/forms","start":96,"end":139,"specifiers":[{"specifier":"FormsModule"}]},{"libraryName":"@angular/common/http/testing","start":140,"end":209,"specifiers":[{"specifier":"HttpClientTestingModule"}]},{"libraryName":"@ng-bootstrap/ng-bootstrap","start":210,"end":263,"specifiers":[{"specifier":"NgbModule"}]},{"libraryName":"...testing","start":264,"end":315,"specifiers":[{"specifier":"TestUtil"}]},{"libraryName":"component.button","start":316,"end":348,"specifiers":[{"specifier":"Button"}]},{"libraryName":"modules.core.service","start":393,"end":490,"specifiers":[{"specifier":"ProgressIndicationService"}]},{"libraryName":"directive","start":491,"end":581,"specifiers":[{"specifier":"ConfirmationDialogComponent"}]},{"libraryName":"pipe","start":582,"end":644,"specifiers":[{"specifier":"EmptyIfNullPipe"}]},{"libraryName":"modules.bpmn.provider","start":645,"end":727,"specifiers":[{"specifier":"TaskParamsProvider"}]},{"libraryName":"component","start":728,"end":759,"specifiers":[{"specifier":"Style"}]},{"libraryName":"...testing","start":760,"end":821,"specifiers":[{"specifier":"ConstantsUtil"}]},{"libraryName":"webbpm.ui_scripting","start":822,"end":892,"specifiers":[{"specifier":"ActionService"}]},{"libraryName":"rxjs/operators","start":893,"end":931,"specifiers":[{"specifier":"filter"}]}],"exports":[],"declarations":[{"name":"TEXT","isConst":true,"isExported":false,"start":962,"end":996},{"name":"component","isConst":false,"isExported":false,"type":"Button","start":999,"end":1021},{"name":"fixture","isConst":false,"isExported":false,"type":"ComponentFixture