[{"__symbolic":"module","version":4,"metadata":{"AtGrid":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"at-grid","styles":["\n    .uneven_row{background-color:#fcfcfc}.even_row{background-color:#ffffff}.uneven_row_mouse_over{background-color:#f9f9f9}.even_row_mouse_over{background-color:#f9f9f9}.base_row_tr{cursor:pointer}.base_header_tr{cursor:pointer}.base_header_td{padding:10px}input,select{width:100%}li{padding-left:200px}td.last{width:1px;white-space:nowrap}.at-table{border-radius:10px}.even_row_input{background-color:#fafcff}.uneven_row_input{background-color:#f1f4f6}.even_row_mouse_over_input{background-color:#eeeff0}.uneven_row_mouse_over_input{background-color:#eeeff0}.common_input{border:none}.common_input::-webkit-inner-spin-button{-webkit-appearance:none}.common_input::-webkit-outer-spin-button{-webkit-appearance:none}.cell_content{height:100% !important;padding:6px;display:flex;align-items:center}.checkbox_input{max-height:1.5rem;min-height:1.5rem}.num_input,.currency_input{text-align:right}.num_view{flex-direction:row-reverse}.currency_view{flex-direction:row-reverse}.input-current-page{max-width:50px}\n  "],"template":"\n    <form name=\"form\" id=\"form\" #myForm=\"ngForm\">\n        <button (click)=\"firstPage()\" type=\"button\"> << </button>\n        <button (click)=\"prevPage()\" type=\"button\"> < </button>\n        <input type=\"number\" name=\"currentPage\" class=\"input-current-page\" id=\"currentPage\" [(ngModel)]=\"humanCurrentPage\"> из {{getQuPage()}}\n        <button (click)=\"nextPage()\" type=\"button\"> > </button>\n        <button (click)=\"lastPage()\" type=\"button\"> >> </button>\n        <table width=\"100%\" style=\"width:100%\" border=\"1\" class=\"at-table\">\n            <thead>\n                <tr class=\"base_header_tr\">\n                    <td *ngFor=\"let column of metaData\"\n                        class=\"base_header_td\">\n                        <div style=\"display: flex; width: 100%\" (click)=\"changeSort(column)\">\n                            <div style=\"flex: auto;\"><b>{{column.comment}}</b></div>\n                            <div style=\"margin-left: 5px;\" [ngStyle] = \"{'max-width': arrowWidth + 'px', flex: 'auto'}\"><!---->\n                                <svg *ngIf = \"column.columnSort === columnSort.Desc\" [attr.height] = \"arrowHeight\" [attr.width] = \"arrowWidth\">\n                                    <line [attr.x1]=\"0\"\n                                          [attr.y1]=\"arrowHeight / 4\"\n                                          [attr.x2]=\"arrowWidth / 2\"\n                                          [attr.y2]=\"arrowHeight * 3 / 4\"\n                                          fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>\n                                    <line [attr.x1]=\"arrowWidth / 2\"\n                                          [attr.y1]=\"arrowHeight * 3 / 4\"\n                                          [attr.x2]=\"arrowWidth\"\n                                          [attr.y2]=\"arrowHeight / 4\"\n                                          fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>\n                                    <!--<line [attr.x1]=\"arrowWidth / 2\"-->\n                                          <!--[attr.y1]=\"0\"-->\n                                          <!--[attr.x2]=\"arrowWidth / 2\"-->\n                                          <!--[attr.y2]=\"arrowHeight\"-->\n                                          <!--fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>-->\n                                </svg>\n                                <svg *ngIf = \"column.columnSort === columnSort.Ask\" [attr.height] = \"arrowHeight\" [attr.width] = \"arrowWidth\">\n                                    <line [attr.x1]=\"0\"\n                                          [attr.y1]=\"arrowHeight * 3 / 4\"\n                                          [attr.x2]=\"arrowWidth / 2\"\n                                          [attr.y2]=\"arrowHeight / 4\"\n                                          fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>\n                                    <line [attr.x1]=\"arrowWidth / 2\"\n                                          [attr.y1]=\"arrowHeight / 4\"\n                                          [attr.x2]=\"arrowWidth\"\n                                          [attr.y2]=\"arrowHeight *3 / 4\"\n                                          fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>\n                                    <!--<line [attr.x1]=\"arrowWidth / 2\"-->\n                                          <!--[attr.y1]=\"0\"-->\n                                          <!--[attr.x2]=\"arrowWidth / 2\"-->\n                                          <!--[attr.y2]=\"arrowHeight\"-->\n                                          <!--fill=\"none\" stroke=\"black\" stroke-width=\"1px\" stroke-opacity=\"1\"/>-->\n                                </svg>\n\n                            </div>\n                            <div *ngIf=\"this.showSortOrder && column.columnSort !== columnSort.None\"\n                                    [ngStyle] = \"{'max-width': arrowWidth + 'px', flex: 'auto'}\">\n                                {{column.columnSortNumber}}\n                            </div>\n                        </div>\n                    </td>\n                </tr>\n                <tr>\n                    <td *ngFor=\"let column of metaData\">\n                        <input\n                                type=\"text\"\n                                [name]=\"column.name\"\n                                [id]=\"column.name\"\n                                [(ngModel)]=\"column.filterInfo.value\"\n                                (ngModelChange)=\"filterChanged($event)\"/>\n                    </td>\n                </tr>\n            </thead>\n            <tbody>\n                <tr *ngFor=\"let item of getRowForPage(); let idx = index\"\n                    [ngClass]=\"{ 'even_row': (idx % 2 == 0) && rowNumMouseOver != idx,\n                        'uneven_row': (idx % 2 == 1) && rowNumMouseOver != idx,\n                        'even_row_mouse_over': (idx % 2 == 0) && rowNumMouseOver == idx,\n                        'uneven_row_mouse_over': (idx % 2 == 1) && rowNumMouseOver == idx\n                    }\"\n                    class=\"base_row_tr\"\n                    (click)=\"selectRow(item)\"\n                    (mouseleave)=\"mouseOver(null)\"\n                    (mouseover)=\"mouseOver(idx)\"\n                >\n                    <td *ngFor=\"let column of metaData; let colNum = index\"\n                        style = \"height: 1px;\"\n                        class=\"base_row_td\" [ngStyle] = \"callbackSetCellStyle(item, column)\"\n                        (mouseleave)=\"mouseOverCell(null)\"\n                        (mouseover)=\"mouseOverCell(column)\"\n                    >\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Number && !isAllowEdit(idx, column)\" align=\"right\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content num_view\">\n                            {{item[column.name]|number}}\n                        </div>\n                        <div *ngIf=\"column.columnFormat == columnFormat.Number && isAllowEdit(idx, column)\" align=\"right\"\n                             [id]=\"getCellId(idx, colNum)\"  style=\"height: 100%\">\n                            <input type=\"number\"  pattern=\"^[-+]?[0-9]*[.,]?[0-9]+(?:[eE][-+]?[0-9]+)?$\"\n                                   [name]=\"'input' + getCellId(idx, colNum)\" [id]=\"'input' + getCellId(idx, colNum)\"\n                                   class=\"cell_content common_input num_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                   [(ngModel)]=\"item[column.name]\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                                   (click)=\"$event.stopPropagation()\"\n                            />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Currency && !isAllowEdit(idx, column)\" align=\"right\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content currency_view\"\n                        >\n                            {{item[column.name]|number:'1.2-2'}}\n                        </div>\n                        <div *ngIf=\"column.columnFormat == columnFormat.Currency && isAllowEdit(idx, column)\" align=\"right\"\n                             [id]=\"getCellId(idx, colNum)\" style=\"height: 100%\">\n                            <input type=\"number\"  pattern=\"^[-+]?[0-9]*[.,]?[0-9]+(?:[eE][-+]?[0-9]+)?$\"\n                                   [name]=\"'input' + getCellId(idx, colNum)\" [id]=\"'input' + getCellId(idx, colNum)\"\n                                   class=\"cell_content common_input currency_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                   [(ngModel)]=\"item[column.name]\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                                   (click)=\"$event.stopPropagation()\"\n                            />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Date && !isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\"\n                        >\n                            {{item[column.name]|date:'dd.MM.yyyy'}}\n                        </div>\n                        <div *ngIf=\"column.columnFormat == columnFormat.Date && isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\" style=\"height: 100%\"\n                             (click)=\"$event.stopPropagation()\">\n                            <input type=\"date\"  [name]=\"'input' + getCellId(idx, colNum)\"\n                                   [id]=\"'input' + getCellId(idx, colNum)\"\n                                   class=\"cell_content common_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                   [ngModel]=\"item[column.name] | date:'yyyy-MM-dd'\"\n                                   (ngModelChange)=\"item[column.name] = $event\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                                   (click)=\"$event.stopPropagation()\"\n                            />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Datetime && !isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\"\n                        >\n                            {{item[column.name]|date:'dd.MM.yyyy HH:mm'}}\n                        </div>\n                        <div *ngIf=\"column.columnFormat == columnFormat.Datetime && isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\" style=\"height: 100%\"\n                             (click)=\"$event.stopPropagation()\">\n                            <input type=\"datetime-local\"  [name]=\"'input' + getCellId(idx, colNum)\"\n                                   [id]=\"'input' + getCellId(idx, colNum)\"\n                                   class=\"cell_content common_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                   [ngModel]=\"item[column.name] | date:'yyyy-MM-ddTHH:mm'\"\n                                   (ngModelChange)=\"setDatetime(item, column, $event)\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                                   (click)=\"$event.stopPropagation()\"\n                            />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Default && !isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\"\n                        >\n                            {{item[column.name]}}\n                        </div>\n                        <div *ngIf=\"column.columnFormat == columnFormat.Default && isAllowEdit(idx, column)\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             style=\"height: 100%\">\n                            <input type=\"text\"  [name]=\"'input' + getCellId(idx, colNum)\"\n                                   [id]=\"'input' + getCellId(idx, colNum)\"\n                                   class=\"cell_content common_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                    [value]=\"item[column.name]\"\n                                    (input)=\"setValue(item, column.name, $event.target.value)\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                                   (click)=\"$event.stopPropagation()\"\n                            />\n                        </div>\n                        <!-- [(ngModel)]=\"item[column.name]\" -->\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Boolean\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\">\n                            <input type=\"checkbox\"\n                                   [id]=\"'col_' + column.name + '_' + idx\" [name]=\"'col_' + column.name + '_' + idx\"\n                                   class=\"cell_content common_input checkbox_input\"\n                                   [ngClass]=\"{ 'even_row_input': (idx % 2 == 0) && rowNumMouseOver != idx,\n                                                'uneven_row_input': (idx % 2 == 1) && rowNumMouseOver != idx,\n                                                'even_row_mouse_over_input': (idx % 2 == 0) && rowNumMouseOver == idx,\n                                                'uneven_row_mouse_over_input': (idx % 2 == 1) && rowNumMouseOver == idx\n                                                }\"\n                                   [(ngModel)]=\"item[column.name]\"\n                                   (change)=\"changedCell({columnInfo: column, value: item})\"\n                            />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Picture && item[column.name] != null\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\">\n                            <img [width]=\"imageSize\" [height]=\"imageSize\" [src]=\"item[column.name] | safeHtml\" />\n                        </div>\n\n                        <div *ngIf=\"column.columnFormat == columnFormat.Template && item[column.name] != null\"\n                             [id]=\"getCellId(idx, colNum)\"\n                             class=\"cell_content\"\n                        >\n                            <ng-container *ngTemplateOutlet=\"item[column.name].template;context:item[column.name].context\"></ng-container>\n                        </div>\n                    </td>\n                </tr>\n            </tbody>\n        </table>\n    </form>\n  "}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":256,"character":5}}]}],"metaData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":260,"character":5}}]}],"quRowOnPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":264,"character":5}}]}],"staticMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":268,"character":5}}]}],"currentPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":272,"character":5}}]}],"imageSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":276,"character":5}}]}],"callbackSetCellStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":280,"character":5}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":284,"character":5}}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":288,"character":5}}]}],"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":292,"character":5},"arguments":["myForm"]}]}],"onLoad":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":302,"character":5}}]}],"onChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":306,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":325,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"selectRow":[{"__symbolic":"method"}],"firstPage":[{"__symbolic":"method"}],"lastPage":[{"__symbolic":"method"}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"getQuPage":[{"__symbolic":"method"}],"applyFilter":[{"__symbolic":"method"}],"compareColumn":[{"__symbolic":"method"}],"getRowForPage":[{"__symbolic":"method"}],"filterChanged":[{"__symbolic":"method"}],"mouseOver":[{"__symbolic":"method"}],"mouseOverCell":[{"__symbolic":"method"}],"getCellId":[{"__symbolic":"method"}],"changedCell":[{"__symbolic":"method"}],"isAllowEdit":[{"__symbolic":"method"}],"setDatetime":[{"__symbolic":"method"}],"getDefaultFontSize":[{"__symbolic":"method"}],"calcShowSortOrder":[{"__symbolic":"method"}],"changeSort":[{"__symbolic":"method"}],"getOutGridName":[{"__symbolic":"method"}],"saveLayouts":[{"__symbolic":"method"}],"restoreLayouts":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}]}}}}]