UNPKG

angular-ui-grid

Version:

A data grid for Angular

2 lines 363 kB
/*! For license information please see ui-grid.min.js.LICENSE.txt */ (()=>{var e={4134:e=>{e.exports='<div\n class="ui-grid-filter-container"\n ng-style="col.extraStyle"\n ng-repeat="colFilter in col.filters"\n ng-class="{\'ui-grid-filter-cancel-button-hidden\' : colFilter.disableCancelFilterButton === true }">\n <div\n ng-if="colFilter.type !== \'select\'">\n <input\n type="text"\n class="ui-grid-filter-input ui-grid-filter-input-{{$index}}"\n ng-model="colFilter.term"\n ng-attr-placeholder="{{colFilter.placeholder || \'\'}}"\n aria-label="{{colFilter.ariaLabel || aria.defaultFilterLabel}}" />\n\n <div\n role="button"\n class="ui-grid-filter-button"\n ng-click="removeFilter(colFilter, $index)"\n ng-if="!colFilter.disableCancelFilterButton"\n ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'"\n ng-show="colFilter.term !== undefined && colFilter.term !== null && colFilter.term !== \'\'">\n <i\n class="ui-grid-icon-cancel"\n ui-grid-one-bind-aria-label="aria.removeFilter">\n &nbsp;\n </i>\n </div>\n </div>\n\n <div\n ng-if="colFilter.type === \'select\'">\n <select\n class="ui-grid-filter-select ui-grid-filter-input-{{$index}}"\n ng-model="colFilter.term"\n ng-show="colFilter.selectOptions.length > 0"\n ng-attr-placeholder="{{colFilter.placeholder || aria.defaultFilterLabel}}"\n aria-label="{{colFilter.ariaLabel || \'\'}}"\n ng-options="option.value as option.label for option in colFilter.selectOptions">\n <option value=""></option>\n </select>\n\n <div\n role="button"\n class="ui-grid-filter-button-select"\n ng-click="removeFilter(colFilter, $index)"\n ng-if="!colFilter.disableCancelFilterButton"\n ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'"\n ng-show="colFilter.term !== undefined && colFilter.term != null">\n <i\n class="ui-grid-icon-cancel"\n ui-grid-one-bind-aria-label="aria.removeFilter">\n &nbsp;\n </i>\n </div>\n </div>\n</div>\n'},5790:e=>{e.exports='<div\n class="ui-grid-footer-panel ui-grid-footer-aggregates-row"> \x3c!-- tfooter --\x3e\n <div\n class="ui-grid-footer ui-grid-footer-viewport">\n <div\n class="ui-grid-footer-canvas">\n <div\n class="ui-grid-footer-cell-wrapper"\n ng-style="colContainer.headerCellWrapperStyle()">\n <div\n role="row"\n class="ui-grid-footer-cell-row">\n <div\n ui-grid-footer-cell\n role="gridcell"\n ng-repeat="col in colContainer.renderedColumns track by col.uid"\n col="col"\n render-index="$index"\n class="ui-grid-footer-cell ui-grid-clearfix">\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'},8325:e=>{e.exports='<div class="ui-grid-footer-info ui-grid-grid-footer">\n <span>{{\'search.totalItems\' | t}} {{grid.rows.length}}</span>\n <span\n ng-if="grid.renderContainers.body.visibleRowCache.length !== grid.rows.length"\n class="ngLabel">\n ({{"search.showingItems" | t}} {{grid.renderContainers.body.visibleRowCache.length}})\n </span>\n</div>\n'},9974:e=>{e.exports='<div\n role="rowgroup"\n class="ui-grid-header"> \x3c!-- theader --\x3e\n <div\n class="ui-grid-top-panel">\n <div\n class="ui-grid-header-viewport">\n <div\n class="ui-grid-header-canvas">\n <div\n class="ui-grid-header-cell-wrapper"\n ng-style="colContainer.headerCellWrapperStyle()">\n <div\n role="row"\n class="ui-grid-header-cell-row">\n <div\n role="columnheader"\n class="ui-grid-header-cell ui-grid-clearfix"\n ng-repeat="col in colContainer.renderedColumns track by col.uid"\n ui-grid-header-cell\n col="col"\n render-index="$index">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'},6502:e=>{e.exports='<div class="ui-grid-menu-button">\n <div role=\'button\'\n ui-grid-one-bind-id-grid="\'grid-menu\'"\n ui-grid-one-bind-aria-label="i18n.aria.buttonLabel"\n tabindex="0"\n class="ui-grid-icon-container"\n ng-click="toggleMenu()"\n ng-keydown="toggleOnKeydown($event)"\n aria-expanded="{{shown}}"\n aria-haspopup="true">\n <i class="ui-grid-icon-menu"\n ui-grid-one-bind-aria-label="i18n.aria.buttonLabel">&nbsp;</i>\n </div>\n <div ui-grid-menu menu-items="menuItems"></div>\n</div>\n'},6674:e=>{e.exports='<li role="menuitem">\n\t<div\n\t\tclass="ui-grid-menu-item"\n\t\trole="heading"\n\t\taria-level="2"\n\t\tng-show="itemShown()">\n\t\t<i aria-hidden=\'true\'>\n\t\t\t&nbsp;\n\t\t</i>\n\t\t<span ng-bind="label()"></span>\n\t</div>\n</li>'},2509:e=>{e.exports='<div class="ui-grid-top-panel">\n</div>'},965:e=>{e.exports=" <div\n ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\"\n ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\"\n class=\"ui-grid-cell\"\n ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\"\n role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\"\n ui-grid-cell>\n</div>\n"},1947:e=>{e.exports='<div ui-i18n="en" class="ui-grid">\n \x3c!-- TODO (c0bra): add "scoped" attr here, eventually? --\x3e\n <style ui-grid-style>\n .grid{{ grid.id }} {\n /* Styles for the grid */\n }\n\n .grid{{ grid.id }} .ui-grid-row, .grid{{ grid.id }} .ui-grid-cell, .grid{{ grid.id }} .ui-grid-cell .ui-grid-vertical-bar {\n height: {{ grid.options.rowHeight }}px;\n }\n\n .grid{{ grid.id }} .ui-grid-row:last-child .ui-grid-cell {\n border-bottom-width: {{ (((grid.getVisibleRowCount() * grid.options.rowHeight) < grid.getViewportHeight()) && \'1\') || \'0\' }}px;\n }\n\n {{ grid.verticalScrollbarStyles }}\n {{ grid.horizontalScrollbarStyles }}\n\n /*\n .ui-grid[dir=rtl] .ui-grid-viewport {\n padding-left: {{ grid.verticalScrollbarWidth }}px;\n }\n */\n\n {{ grid.customStyles }}\n </style>\n\n <div class="ui-grid-contents-wrapper" role="grid">\n <div ui-grid-menu-button ng-if="grid.options.enableGridMenu"></div>\n\n <div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="\'left\'"></div>\n\n <div ui-grid-render-container\n container-id="\'body\'"\n col-container-name="\'body\'"\n row-container-name="\'body\'"\n bind-scroll-horizontal="true"\n bind-scroll-vertical="true"\n enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar"\n enable-vertical-scrollbar="grid.options.enableVerticalScrollbar">\n </div>\n\n <div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="\'right\'"></div>\n\n\n <div ui-grid-grid-footer ng-if="grid.options.showGridFooter"></div>\n\n <div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"></div>\n\n <div ng-transclude></div>\n </div>\n</div>\n'},5069:e=>{e.exports='<div\n class="ui-grid-cell-contents"\n title="TOOLTIP">\n {{COL_FIELD CUSTOM_FILTERS}}\n</div>\n'},4282:e=>{e.exports='<div class="ui-grid-column-menu">\n <div ui-grid-menu menu-items="menuItems" col="col">\n \x3c!-- <div class="ui-grid-column-menu">\n <div class="inner" ng-show="menuShown">\n <ul>\n <div ng-show="grid.options.enableSorting">\n <li ng-click="sortColumn($event, asc)" ng-class="{ \'selected\' : col.sort.direction == asc }"><i class="ui-grid-icon-sort-alt-up"></i> Sort Ascending</li>\n <li ng-click="sortColumn($event, desc)" ng-class="{ \'selected\' : col.sort.direction == desc }"><i class="ui-grid-icon-sort-alt-down"></i> Sort Descending</li>\n <li ng-show="col.sort.direction" ng-click="unsortColumn()"><i class="ui-grid-icon-cancel"></i> Remove Sort</li>\n </div>\n </ul>\n </div>\n </div> --\x3e\n </div>\n</div>'},8224:e=>{e.exports='<div\n class="ui-grid-cell-contents"\n col-index="renderIndex">\n <div>\n {{ col.getAggregationText() + ( col.getAggregationValue() CUSTOM_FILTERS ) }}\n </div>\n</div>\n'},8997:e=>{e.exports='<div\n role="columnheader"\n ng-class="{ \'sortable\': sortable, \'ui-grid-header-cell-last-col\': isLastCol }"\n ui-grid-one-bind-aria-labelledby-grid="col.uid + \'-header-text \' + col.uid + \'-sortdir-text\'"\n aria-sort="{{col.sort.direction == asc ? \'ascending\' : ( col.sort.direction == desc ? \'descending\' : (!col.sort.direction ? \'none\' : \'other\'))}}">\n <div\n role="button"\n tabindex="0"\n ng-keydown="handleKeyDown($event)"\n class="ui-grid-cell-contents ui-grid-header-cell-primary-focus"\n col-index="renderIndex"\n title="TOOLTIP">\n <span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + \'-header-text\'">{{ col.displayName CUSTOM_FILTERS }}</span>\n\n <span\n ui-grid-one-bind-id-grid="col.uid + \'-sortdir-text\'"\n ui-grid-visible="col.sort.direction"\n aria-label="{{getSortDirectionAriaLabel()}}">\n <i\n ng-class="{ \'ui-grid-icon-up-dir\': col.sort.direction == asc, \'ui-grid-icon-down-dir\': col.sort.direction == desc, \'ui-grid-icon-blank\': !col.sort.direction }"\n title="{{isSortPriorityVisible() ? i18n.headerCell.priority + \' \' + ( col.sort.priority + 1 ) : null}}"\n aria-hidden="true">\n </i>\n <sub\n ui-grid-visible="isSortPriorityVisible()"\n class="ui-grid-sort-priority-number">\n {{col.sort.priority + 1}}\n </sub>\n </span>\n </div>\n\n <div\n role="button"\n tabindex="0"\n ui-grid-one-bind-id-grid="col.uid + \'-menu-button\'"\n class="ui-grid-column-menu-button"\n ng-if="grid.options.enableColumnMenus && !col.isRowHeader && col.colDef.enableColumnMenu !== false"\n ng-click="toggleMenu($event)"\n ng-keydown="headerCellArrowKeyDown($event)"\n ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel"\n aria-expanded="{{col.menuShown}}"\n aria-haspopup="true">\n <i\n class="ui-grid-icon-angle-down"\n aria-hidden="true">\n &nbsp;\n </i>\n </div>\n\n <div ui-grid-filter ng-hide="col.filterContainer === \'columnMenu\'"></div>\n</div>\n'},2243:e=>{e.exports='<div\n class="ui-grid-menu"\n ng-keydown="checkKeyDown($event)"\n ng-show="shown">\n <style ui-grid-style>\n {{dynamicStyles}}\n </style>\n <div\n class="ui-grid-menu-mid"\n ng-show="shownMid">\n <div\n class="ui-grid-menu-inner"\n ng-if="shown">\n <ul\n role="menu"\n class="ui-grid-menu-items">\n <li\n ng-repeat="item in menuItems"\n role="menuitem"\n ui-grid-menu-item\n ui-grid-one-bind-id="\'menuitem-\'+$index"\n action="item.action"\n name="item.title"\n active="item.active"\n icon="item.icon"\n shown="item.shown"\n context="item.context"\n template-url="item.templateUrl"\n leave-open="item.leaveOpen"\n screen-reader-only="item.screenReaderOnly">\n </li>\n <li ng-if="col.filterable && col.filterContainer === \'columnMenu\'">\n <div ui-grid-filter></div>\n </li>\n </ul>\n </div>\n </div>\n</div>\n'},6747:e=>{e.exports='<button\n type="button"\n class="ui-grid-menu-item"\n ng-click="itemAction($event, title)"\n ng-show="itemShown()"\n ng-class="{ \'ui-grid-menu-item-active\': active(), \'ui-grid-sr-only\': (!focus && screenReaderOnly) }"\n aria-pressed="{{active()}}"\n tabindex="0"\n ng-focus="focus=true"\n ng-blur="focus=false">\n <i\n ng-class="icon"\n aria-hidden=\'true\'>\n &nbsp;\n </i>\n {{ label() }}\n</button>\n'},8372:e=>{e.exports="<div\n role=\"presentation\"\n ui-grid-one-bind-id-grid=\"containerId + '-grid-container'\"\n class=\"ui-grid-render-container\"\n ng-style=\"{ 'margin-left': colContainer.getMargin('left') + 'px', 'margin-right': colContainer.getMargin('right') + 'px' }\">\n \x3c!-- All of these dom elements are replaced in place --\x3e\n <div ui-grid-header></div>\n <div ui-grid-viewport></div>\n <div\n ng-if=\"colContainer.needsHScrollbarPlaceholder()\"\n class=\"ui-grid-scrollbar-placeholder\"\n ng-style=\"{height: colContainer.grid.scrollbarHeight + 'px'}\">\n </div>\n <ui-grid-footer\n ng-if=\"grid.options.showColumnFooter\">\n </ui-grid-footer>\n</div>\n"},2504:e=>{e.exports='<div\n role="rowgroup"\n class="ui-grid-viewport"\n ng-style="colContainer.getViewportStyle()">\x3c!-- tbody --\x3e\n <div\n class="ui-grid-canvas">\n <div\n ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index"\n class="ui-grid-row"\n ng-style="Viewport.rowStyle(rowRenderIndex)">\n <div\n role="row"\n ui-grid-row="row"\n row-render-index="rowRenderIndex">\n </div>\n </div>\n </div>\n</div>\n'},1405:e=>{e.exports='<div>\n <form\n name="inputForm">\n <input\n type="INPUT_TYPE"\n ng-class="\'colt\' + col.uid"\n ui-grid-editor\n ng-model="MODEL_COL_FIELD" />\n </form>\n</div>\n'},439:e=>{e.exports='<div>\n <form\n name="inputForm">\n <select\n ng-class="\'colt\' + col.uid"\n ui-grid-edit-dropdown\n ng-model="MODEL_COL_FIELD"\n ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray">\n </select>\n </form>\n</div>\n'},6527:e=>{e.exports='<div>\n <form\n name="inputForm">\n <input\n ng-class="\'colt\' + col.uid"\n ui-grid-edit-file-chooser\n type="file"\n id="files"\n name="files[]"\n ng-model="MODEL_COL_FIELD"/>\n </form>\n</div>\n'},1258:e=>{e.exports='<div class="ui-grid-empty-base-layer-container ui-grid-canvas">\n <div class="ui-grid-row"\n ng-repeat="(rowRenderIndex, row) in grid.baseLayer.emptyRows track by $index"\n ng-style="Viewport.rowStyle(rowRenderIndex)">\n <div>\n <div>\n <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name"\n class="ui-grid-cell {{ col.getColClass(false) }}">\n </div>\n </div>\n </div>\n </div>\n</div>\n'},6167:e=>{e.exports='<div\n ui-grid-expandable-row\n ng-if="expandableRow.shouldRenderExpand()"\n class="expandableRow"\n style="float:left; margin-top: 1px; margin-bottom: 1px"\n ng-style="{width: (grid.renderContainers.body.getCanvasWidth()) + \'px\', height: row.expandedRowHeight + \'px\'}">\n</div>\n'},8761:e=>{e.exports='<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell">\n <div class="ui-grid-cell-contents">\n <i class="clickable"\n ng-if="!(row.groupHeader==true || row.entity.subGridOptions.disableRowExpandable)"\n ng-class="{ \'ui-grid-icon-plus-squared\' : !row.isExpanded, \'ui-grid-icon-minus-squared\' : row.isExpanded }"\n ng-click="grid.api.expandable.toggleRowExpansion(row.entity, $event)"\n aria-expanded="{{!!row.isExpanded}}">\n </i>\n </div>\n</div>\n'},2503:e=>{e.exports="<div\n ng-if=\"expandableRow.shouldRenderFiller()\"\n ng-class=\"{scrollFiller: true, scrollFillerClass:(colContainer.name === 'body')}\"\n ng-style=\"{ width: (grid.getViewportWidth()) + 'px', height: row.expandedRowHeight + 2 + 'px', 'margin-left': grid.options.rowHeader.rowHeaderWidth + 'px' }\">\n &nbsp;\n</div>\n"},9170:e=>{e.exports='<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell">\n <div class="ui-grid-cell-contents">\n <span class="ui-grid-cell-empty" ng-if="!grid.options.showExpandAllButton"></span>\n <button type="button" class="ui-grid-icon-button clickable"\n ng-if="grid.options.showExpandAllButton"\n ng-class="{ \'ui-grid-icon-plus-squared\' : !grid.expandable.expandedAll, \'ui-grid-icon-minus-squared\' : grid.expandable.expandedAll }"\n ng-click="grid.api.expandable.toggleAllRows()"\n aria-expanded="{{grid.expandable.expandedAll}}">\n </button>\n </div>\n</div>\n'},5867:e=>{e.exports='<span\n class="ui-grid-exporter-csv-link-span">\n <a\n href="data:text/csv;charset=UTF-8,CSV_CONTENT"\n download="FILE_NAME">\n LINK_LABEL\n </a>\n</span>\n'},8424:e=>{e.exports='<li\n class="ui-grid-menu-item">\n <form>\n <input\n class="ui-grid-importer-file-chooser"\n type="file"\n id="files"\n name="files[]"/>\n </form>\n</li>\n'},9187:e=>{e.exports="<div ui-grid-importer-menu-item></div>"},9031:e=>{e.exports='<div\n class="ui-grid-pager-panel"\n ui-grid-pager\n ng-show="grid.options.enablePaginationControls">\n <div\n role="navigation"\n class="ui-grid-pager-container">\n <div\n class="ui-grid-pager-control">\n <button\n type="button"\n class="ui-grid-pager-first"\n ui-grid-one-bind-title="aria.pageToFirst"\n ui-grid-one-bind-aria-label="aria.pageToFirst"\n ng-click="pageFirstPageClick()"\n ng-disabled="cantPageBackward()">\n <div\n ng-class="grid.isRTL() ? \'last-triangle\' : \'first-triangle\'">\n <div\n ng-class="grid.isRTL() ? \'last-bar-rtl\' : \'first-bar\'">\n </div>\n </div>\n </button>\n <button\n type="button"\n class="ui-grid-pager-previous"\n ui-grid-one-bind-title="aria.pageBack"\n ui-grid-one-bind-aria-label="aria.pageBack"\n ng-click="pagePreviousPageClick()"\n ng-disabled="cantPageBackward()">\n <div ng-class="grid.isRTL() ? \'last-triangle prev-triangle\' : \'first-triangle prev-triangle\'"></div>\n </button>\n <input\n type="number"\n ui-grid-one-bind-title="aria.pageSelected"\n ui-grid-one-bind-aria-label="aria.pageSelected"\n class="ui-grid-pager-control-input"\n ng-model="grid.options.paginationCurrentPage"\n min="1"\n max="{{ paginationApi.getTotalPages() }}"\n step="1"\n required />\n <span\n class="ui-grid-pager-max-pages-number"\n ng-show="paginationApi.getTotalPages() > 0">\n <abbr\n ui-grid-one-bind-title="paginationOf">\n /\n </abbr>\n {{ paginationApi.getTotalPages() }}\n </span>\n <button\n type="button"\n class="ui-grid-pager-next"\n ui-grid-one-bind-title="aria.pageForward"\n ui-grid-one-bind-aria-label="aria.pageForward"\n ng-click="pageNextPageClick()"\n ng-disabled="cantPageForward()">\n <div ng-class="grid.isRTL() ? \'first-triangle next-triangle\' : \'last-triangle next-triangle\'"></div>\n </button>\n <button\n type="button"\n class="ui-grid-pager-last"\n ui-grid-one-bind-title="aria.pageToLast"\n ui-grid-one-bind-aria-label="aria.pageToLast"\n ng-click="pageLastPageClick()"\n ng-disabled="cantPageToLast()">\n <div ng-class="grid.isRTL() ? \'first-triangle\' : \'last-triangle\'">\n <div ng-class="grid.isRTL() ? \'first-bar-rtl\' : \'last-bar\'">\n </div>\n </div>\n </button>\n </div>\n <div\n class="ui-grid-pager-row-count-picker"\n ng-if="grid.options.paginationPageSizes.length > 1 && !grid.options.useCustomPagination">\n <select\n ui-grid-one-bind-aria-labelledby-grid="\'items-per-page-label\'"\n ng-model="grid.options.paginationPageSize"\n ng-options="o as o for o in grid.options.paginationPageSizes"></select>\n <span\n ui-grid-one-bind-id-grid="\'items-per-page-label\'"\n class="ui-grid-pager-row-count-label">\n &nbsp;{{sizesLabel}}\n </span>\n </div>\n <span\n ng-if="grid.options.paginationPageSizes.length <= 1"\n class="ui-grid-pager-row-count-label">\n {{grid.options.paginationPageSize}}&nbsp;{{sizesLabel}}\n </span>\n </div>\n <div\n class="ui-grid-pager-count-container">\n <div\n class="ui-grid-pager-count">\n <span\n ng-show="grid.options.totalItems > 0">\n {{ 1 + paginationApi.getFirstRowIndex() }}\n <abbr\n ui-grid-one-bind-title="paginationThrough">\n -\n </abbr>\n {{ 1 + paginationApi.getLastRowIndex() }} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}\n </span>\n </div>\n </div>\n</div>\n'},9973:e=>{e.exports='<div\n ui-grid-column-resizer\n ng-if="grid.options.enableColumnResizing"\n class="ui-grid-column-resizer"\n col="col"\n position="right"\n render-index="renderIndex"\n unselectable="on">\n</div>'},765:e=>{e.exports='<span\n ng-if="grid.selection.selectedCount !== 0 && grid.options.enableFooterTotalSelected">\n ({{"search.selectedItems" | t}} {{grid.selection.selectedCount}})\n</span>\n'},8882:e=>{e.exports='<div>\n \x3c!-- <div class="ui-grid-vertical-bar">&nbsp;</div> --\x3e\n <div\n class="ui-grid-cell-contents"\n col-index="renderIndex">\n <ui-grid-selection-select-all-buttons\n ng-if="grid.options.enableSelectAll"\n role="checkbox"\n ng-model="grid.selection.selectAll">\n </ui-grid-selection-select-all-buttons>\n </div>\n</div>\n'},7274:e=>{e.exports='<div class="ui-grid-cell-contents ui-grid-disable-selection clickable">\n <ui-grid-selection-row-header-buttons>\n </ui-grid-selection-row-header-buttons>\n</div>\n'},3098:e=>{e.exports='<div\n class="ui-grid-selection-row-header-buttons ui-grid-icon-ok clickable"\n ng-class="{\'ui-grid-row-selected\': row.isSelected}"\n tabindex="0"\n ng-click="selectButtonClick(row, $event)"\n ng-keydown="selectButtonKeyDown(row, $event)"\n ng-attr-aria-label="{{(\'selection.aria.row\' | t) + \' \' + (row.index + 1) + \', \' + col.displayName}}"\n aria-checked="{{row.isSelected}}"\n role="checkbox"\n ng-model="row.isSelected">\n &nbsp;\n</div>\n'},3626:e=>{e.exports='<div\n\trole="checkbox"\n tabindex="0"\n class="ui-grid-selection-row-header-buttons ui-grid-icon-ok"\n ui-grid-one-bind-aria-label="\'selection.selectAll\' | t"\n aria-checked="{{grid.selection.selectAll}}"\n ng-class="{\'ui-grid-all-selected\': grid.selection.selectAll}"\n ng-click="headerButtonClick($event)"\n ng-keydown="headerButtonKeyDown($event)">\n</div>\n'},1067:e=>{e.exports='<div\n class="ui-grid-tree-base-row-header-buttons"\n tabindex="0"\n ng-class="headerButtonClass()"\n ng-click="headerButtonClick($event)"\n ng-keydown="headerButtonKeyDown($event)">\n</div>\n'},8058:e=>{e.exports='<div>\n <div\n class="ui-grid-cell-contents"\n col-index="renderIndex">\n <ui-grid-tree-base-expand-all-buttons\n ng-if="grid.options.enableExpandAll">\n </ui-grid-tree-base-expand-all-buttons>\n </div>\n</div>\n'},4462:e=>{e.exports='<div\n class="ui-grid-cell-contents">\n <ui-grid-tree-base-row-header-buttons>\n </ui-grid-tree-base-row-header-buttons>\n</div>\n'},2132:e=>{e.exports='<div\n class="ui-grid-tree-base-row-header-buttons"\n ng-class="{\'ui-grid-tree-base-header\': row.treeLevel > -1 }"\n tabindex="0"\n ng-keydown="treeButtonKeyDown(row, $event)"\n ng-click="treeButtonClick(row, $event)">\n <i\n ng-class="treeButtonClass(row)"\n ng-style="{\'padding-left\': grid.options.treeIndent * row.treeLevel + \'px\'}">\n </i>\n &nbsp;\n</div>\n'},3833:e=>{e.exports='<div class="ui-grid-cell-contents"\n ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}"\n title={{grid.validate.getTitleFormattedErrors(row.entity,col.colDef)}}>\n {{COL_FIELD CUSTOM_FILTERS}}\n</div>'},672:e=>{e.exports='<div class="ui-grid-cell-contents"\n ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}"\n tooltip-html-unsafe={{grid.validate.getFormattedErrors(row.entity,col.colDef)}}\n tooltip-enable="grid.validate.isInvalid(row.entity,col.colDef)"\n tooltip-append-to-body="true"\n tooltip-placement="top"\n title="TOOLTIP">\n {{COL_FIELD CUSTOM_FILTERS}}\n</div>'},7486:(e,t,r)=>{r(8241)},8241:()=>{!function(){"use strict";angular.module("ui.grid.autoResize",["ui.grid"]).directive("uiGridAutoResize",["gridUtil",function(e){return{require:"uiGrid",scope:!1,link:function(t,r,i,n){var o;o=e.debounce((function(e,t,i,o){null!==r[0].offsetParent&&(n.grid.gridWidth=i,n.grid.gridHeight=o,n.grid.queueGridRefresh().then((function(){n.grid.api.core.raise.gridDimensionChanged(t,e,o,i)})))}),400),t.$watchCollection((function(){return{width:e.elementWidth(r),height:e.elementHeight(r)}}),(function(e,t){angular.equals(e,t)||o(t.width,t.height,e.width,e.height)}))}}}])}()},1848:(e,t,r)=>{r(734)},734:()=>{!function(){"use strict";var e=angular.module("ui.grid.cellNav",["ui.grid"]);e.constant("uiGridCellNavConstants",{FEATURE_NAME:"gridCellNav",CELL_NAV_EVENT:"cellNav",direction:{LEFT:0,RIGHT:1,UP:2,DOWN:3,PG_UP:4,PG_DOWN:5},EVENT_TYPE:{KEYDOWN:0,CLICK:1,CLEAR:2}}),e.factory("uiGridCellNavFactory",["gridUtil","uiGridConstants","uiGridCellNavConstants","GridRowColumn","$q",function(e,t,r,i,n){var o=function(e,t,r,i){this.rows=e.visibleRowCache,this.columns=t.visibleColumnCache,this.leftColumns=r?r.visibleColumnCache:[],this.rightColumns=i?i.visibleColumnCache:[],this.bodyContainer=e};return o.prototype.getFocusableCols=function(){return this.leftColumns.concat(this.columns,this.rightColumns).filter((function(e){return e.colDef.allowCellFocus}))},o.prototype.getFocusableRows=function(){return this.rows.filter((function(e){return!1!==e.allowCellFocus}))},o.prototype.getNextRowCol=function(e,t,i){switch(e){case r.direction.LEFT:return this.getRowColLeft(t,i);case r.direction.RIGHT:return this.getRowColRight(t,i);case r.direction.UP:return this.getRowColUp(t,i);case r.direction.DOWN:return this.getRowColDown(t,i);case r.direction.PG_UP:return this.getRowColPageUp(t,i);case r.direction.PG_DOWN:return this.getRowColPageDown(t,i)}},o.prototype.initializeSelection=function(){var e=this.getFocusableCols(),t=this.getFocusableRows();return 0===e.length||0===t.length?null:new i(t[0],e[0])},o.prototype.getRowColLeft=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);-1===o&&(o=1);var l=0===o?r.length-1:o-1;return new i(l>=o?0===a?e:n[a-1]:e,r[l])},o.prototype.getRowColRight=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);-1===o&&(o=0);var l=o===r.length-1?0:o+1;return l<=o?a===n.length-1?new i(e,r[l]):new i(n[a+1],r[l]):new i(e,r[l])},o.prototype.getRowColDown=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);return-1===o&&(o=0),a===n.length-1?new i(e,r[o]):new i(n[a+1],r[o])},o.prototype.getRowColPageDown=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);-1===o&&(o=0);var l=this.bodyContainer.minRowsToRender();return a>=n.length-l?new i(n[n.length-1],r[o]):new i(n[a+l],r[o])},o.prototype.getRowColUp=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);return-1===o&&(o=0),new i(0===a?e:n[a-1],r[o])},o.prototype.getRowColPageUp=function(e,t){var r=this.getFocusableCols(),n=this.getFocusableRows(),o=r.indexOf(t),a=n.indexOf(e);-1===o&&(o=0);var l=this.bodyContainer.minRowsToRender();return new i(a-l<0?n[0]:n[a-l],r[o])},o}]),e.service("uiGridCellNavService",["gridUtil","uiGridConstants","uiGridCellNavConstants","$q","uiGridCellNavFactory","GridRowColumn","ScrollEvent",function(e,t,r,i,n,o,a){var l={initializeGrid:function(e){e.registerColumnBuilder(l.cellNavColumnBuilder),e.cellNav={},e.cellNav.lastRowCol=null,e.cellNav.focusedCells=[],l.defaultGridOptions(e.options);var t={events:{cellNav:{navigate:function(e,t){},viewPortKeyDown:function(e,t){},viewPortKeyPress:function(e,t){}}},methods:{cellNav:{scrollToFocus:function(t,r){return l.scrollToFocus(e,t,r)},getFocusedCell:function(){return e.cellNav.lastRowCol},getCurrentSelection:function(){return e.cellNav.focusedCells},rowColSelectIndex:function(t){for(var r=-1,i=0;i<e.cellNav.focusedCells.length;i++)if(e.cellNav.focusedCells[i].col.uid===t.col.uid&&e.cellNav.focusedCells[i].row.uid===t.row.uid){r=i;break}return r}}}};e.api.registerEventsFromObject(t.events),e.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(e){e.modifierKeysToMultiSelectCells=!0===e.modifierKeysToMultiSelectCells,e.keyDownOverrides=e.keyDownOverrides||[]},decorateRenderContainers:function(e){var t=e.hasRightContainer()?e.renderContainers.right:null,r=e.hasLeftContainer()?e.renderContainers.left:null;null!==r&&(e.renderContainers.left.cellNav=new n(e.renderContainers.body,r,t,e.renderContainers.body)),null!==t&&(e.renderContainers.right.cellNav=new n(e.renderContainers.body,t,e.renderContainers.body,r)),e.renderContainers.body.cellNav=new n(e.renderContainers.body,e.renderContainers.body,r,t)},getDirection:function(e){return e.keyCode===t.keymap.LEFT||e.keyCode===t.keymap.TAB&&e.shiftKey?r.direction.LEFT:e.keyCode===t.keymap.RIGHT||e.keyCode===t.keymap.TAB?r.direction.RIGHT:e.keyCode===t.keymap.UP||e.keyCode===t.keymap.ENTER&&e.shiftKey?r.direction.UP:e.keyCode===t.keymap.PG_UP?r.direction.PG_UP:e.keyCode===t.keymap.DOWN||e.keyCode===t.keymap.ENTER&&!e.ctrlKey&&!e.altKey?r.direction.DOWN:e.keyCode===t.keymap.PG_DOWN?r.direction.PG_DOWN:null},cellNavColumnBuilder:function(e,t,r){return e.allowCellFocus=void 0===e.allowCellFocus||e.allowCellFocus,i.all([])},scrollToFocus:function(e,t,r){var i=null,n=null;return null!=t&&(i=e.getRow(t)),null!=r&&(n=e.getColumn(r.name?r.name:r.field)),e.api.core.scrollToIfNecessary(i,n).then((function(){var t={row:i,col:n};null!==i&&null!==n&&e.cellNav.broadcastCellNav(t,null,null)}))},getLeftWidth:function(e,t){var r=0;if(!t)return r;var i=e.renderContainers.body.visibleColumnCache.indexOf(t);e.renderContainers.body.visibleColumnCache.forEach((function(e,t){t<i&&(r+=e.drawnWidth)}));var n=0===i?0:(i+1)/e.renderContainers.body.visibleColumnCache.length;return r+=t.drawnWidth*n}};return l}]),e.directive("uiGridCellnav",["gridUtil","uiGridCellNavService","uiGridCellNavConstants","uiGridConstants","GridRowColumn","$timeout","$compile","i18nService",function(e,t,r,i,n,o,a,l){return{replace:!0,priority:-150,require:"^uiGrid",scope:!1,controller:function(){},compile:function(){return{pre:function(e,o,a,l){var s=e,d=l.grid;t.initializeGrid(d),l.cellNav={},l.cellNav.makeRowCol=function(e){return e instanceof n||(e=new n(e.row,e.col)),e},l.cellNav.getActiveCell=function(){var e=o[0].getElementsByClassName("ui-grid-cell-focus");if(e.length>0)return e[0]},l.cellNav.broadcastCellNav=d.cellNav.broadcastCellNav=function(e,t,i){t=!(void 0===t||!t),e=l.cellNav.makeRowCol(e),l.cellNav.broadcastFocus(e,t,i),s.$broadcast(r.CELL_NAV_EVENT,e,t,i)},l.cellNav.clearFocus=d.cellNav.clearFocus=function(){d.cellNav.focusedCells=[],s.$broadcast(r.CELL_NAV_EVENT)},l.cellNav.broadcastFocus=function(e,t,r){t=!(void 0===t||!t);var i=(e=l.cellNav.makeRowCol(e)).row,o=e.col,a=l.grid.api.cellNav.rowColSelectIndex(e);if(null===d.cellNav.lastRowCol||-1===a||d.cellNav.lastRowCol.col===o&&d.cellNav.lastRowCol.row===i){var s=new n(i,o);(null===d.cellNav.lastRowCol||d.cellNav.lastRowCol.row!==s.row||d.cellNav.lastRowCol.col!==s.col||d.options.enableCellEditOnFocus)&&(d.api.cellNav.raise.navigate(s,d.cellNav.lastRowCol,r),d.cellNav.lastRowCol=s),l.grid.options.modifierKeysToMultiSelectCells&&t?d.cellNav.focusedCells.push(e):d.cellNav.focusedCells=[e]}else d.options.modifierKeysToMultiSelectCells&&t&&a>=0&&d.cellNav.focusedCells.splice(a,1)},l.cellNav.handleKeyDown=function(e){var n=t.getDirection(e);if(null===n)return null;var o="body";e.uiGridTargetRenderContainerId&&(o=e.uiGridTargetRenderContainerId);var a=l.grid.api.cellNav.getFocusedCell();if(a){var s=l.grid.renderContainers[o].cellNav.getNextRowCol(n,a.row,a.col),u=l.grid.renderContainers[o].cellNav.getFocusableCols(),c=l.grid.api.cellNav.rowColSelectIndex(s);return n===r.direction.LEFT&&s.col===u[u.length-1]&&s.row===a.row&&e.keyCode===i.keymap.TAB&&e.shiftKey?(d.cellNav.focusedCells.splice(c,1),l.cellNav.clearFocus(),!0):n!==r.direction.RIGHT||s.col!==u[0]||s.row!==a.row||e.keyCode!==i.keymap.TAB||e.shiftKey?(d.scrollToIfNecessary(s.row,s.col).then((function(){l.cellNav.broadcastCellNav(s,null,e)})),e.stopPropagation(),e.preventDefault(),!1):(d.cellNav.focusedCells.splice(c,1),l.cellNav.clearFocus(),!0)}}},post:function(e,t,i,n){var o,s,d=n.grid,u=!0;try{angular.module("ngAria")}catch(e){u=!1}u&&(o='<div id="'+d.id+'-aria-speakable" class="ui-grid-a11y-ariascreenreader-speakable ui-grid-offscreen" aria-live="assertive" role="alert" aria-atomic="true" aria-hidden="false" aria-relevant="additions" >&nbsp;</div>',s=a(o)(e),t.prepend(s),e.$on(r.CELL_NAV_EVENT,(function(e,t,r,i){if(!i||"focus"!==i.type){for(var n,o,a,u,c=[],g=d.api.cellNav.getCurrentSelection(),p=0;p<g.length;p++){var f=(a=void 0,a="","selectionRowHeaderCol"===(o=g[p]).col.field&&(a=(o.row.isSelected?l.getSafeText("search.aria.selected"):l.getSafeText("search.aria.notSelected"))+", "),a+d.getCellDisplayValue(o.row,o.col)+(n=g[p].col,", "+l.getSafeText("headerCell.aria.column")+" "+n.displayName));c.push(f)}(u=c.toString())!==s.text().trim()&&(s[0].style.clip="rect(0px,0px,0px,0px)",s[0].innerHTML="",s[0].style.visibility="hidden",s[0].style.visibility="visible",""!==u&&(s[0].style.clip="auto",s[0].appendChild(document.createTextNode(u+" ")),s[0].style.visibility="hidden",s[0].style.visibility="visible"))}})))}}}}}]),e.directive("uiGridRenderContainer",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","$compile","uiGridCellNavConstants",function(e,t,r,i,n,o,a){return{replace:!0,priority:-99999,require:["^uiGrid","uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{post:function(t,i,l,s){var d=s[0],u=s[1],c=s[2];if(d.grid.api.cellNav){var g=u.containerId,p=d.grid;if(n.decorateRenderContainers(p),"body"===g){d.grid.options.modifierKeysToMultiSelectCells?i.attr("aria-multiselectable",!0):i.attr("aria-multiselectable",!1);var f=o('<div class="ui-grid-focuser" role="region" aria-live="assertive" aria-atomic="false" tabindex="0" aria-controls="'+p.id+"-aria-speakable "+p.id+'-grid-container" aria-owns="'+p.id+'-grid-container"></div>')(t);i.append(f),f.on("focus",(function(e){e.uiGridTargetRenderContainerId=g;var t=d.grid.api.cellNav.getFocusedCell();null===t&&(t=d.grid.renderContainers[g].cellNav.getNextRowCol(a.direction.DOWN,null,null)).row&&t.col&&d.cellNav.broadcastCellNav(t)})),c.setAriaActivedescendant=function(e){i.attr("aria-activedescendant",e)},c.removeAriaActivedescendant=function(e){i.attr("aria-activedescendant")===e&&i.attr("aria-activedescendant","")},d.focus=function(){r.focus.byElement(f[0])};var m=null;f.on("keydown",(function(e){e.uiGridTargetRenderContainerId=g;var t=d.grid.api.cellNav.getFocusedCell();null===(d.grid.options.keyDownOverrides.some((function(t){return Object.keys(t).every((function(r){return t[r]===e[r]}))}))?null:d.cellNav.handleKeyDown(e))&&(d.grid.api.cellNav.raise.viewPortKeyDown(e,t,d.cellNav.handleKeyDown),m=t)})),f.on("keypress",(function(t){m&&(e((function(){d.grid.api.cellNav.raise.viewPortKeyPress(t,m)}),4),m=null)})),t.$on("$destroy",(function(){f.off()}))}}}}}}}]),e.directive("uiGridViewport",(function(){return{replace:!0,priority:-99999,require:["^uiGrid","^uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{pre:function(e,t,r,i){},post:function(e,t,r,i){var n=i[0],o=i[1];if(n.grid.api.cellNav&&"body"===o.containerId){var a=n.grid;a.api.core.on.scrollBegin(e,(function(){var e=n.grid.api.cellNav.getFocusedCell();null!==e&&o.colContainer.containsColumn(e.col)&&n.cellNav.clearFocus()})),a.api.core.on.scrollEnd(e,(function(e){var t=n.grid.api.cellNav.getFocusedCell();null!==t&&o.colContainer.containsColumn(t.col)&&n.cellNav.broadcastCellNav(t)})),a.api.cellNav.on.navigate(e,(function(){n.focus()}))}}}}}})),e.directive("uiGridCell",["$timeout","$document","uiGridCellNavService","gridUtil","uiGridCellNavConstants","uiGridConstants","GridRowColumn",function(e,t,r,i,n,o,a){return{priority:-150,restrict:"A",require:["^uiGrid","?^uiGridCellnav"],scope:!1,link:function(e,t,r,i){var l=i[0],s=i[1];if(l.grid.api.cellNav&&e.col.colDef.allowCellFocus){var d=l.grid;e.focused=!1,t.attr("tabindex",-1),t.find("div").on("click",(function(t){l.cellNav.broadcastCellNav(new a(e.row,e.col),t.ctrlKey||t.metaKey,t),t.stopPropagation(),e.$apply()})),t.on("mousedown",c),l.grid.api.edit&&(l.grid.api.edit.on.beginCellEdit(e,(function(){t.off("mousedown",c)})),l.grid.api.edit.on.afterCellEdit(e,(function(){t.on("mousedown",c)})),l.grid.api.edit.on.cancelCellEdit(e,(function(){t.on("mousedown",c)}))),g(),t.on("focus",(function(t){l.cellNav.broadcastCellNav(new a(e.row,e.col),!1,t),t.stopPropagation(),e.$apply()})),e.$on(n.CELL_NAV_EVENT,g);var u=l.grid.registerDataChangeCallback((function(t){p(),e.$applyAsync(g)}),[o.dataChange.ROW]);e.$on("$destroy",(function(){u(),t.find("div").off(),t.off()}))}function c(e){e.preventDefault()}function g(){d.cellNav.focusedCells.some((function(t,r){return t.row===e.row&&t.col===e.col}))?function(){if(!e.focused){t.find("div").addClass("ui-grid-cell-focus"),t.attr("aria-selected",!0),s.setAriaActivedescendant(t.attr("id")),e.focused=!0}}():p()}function p(){e.focused&&(t.find("div").removeClass("ui-grid-cell-focus"),t.attr("aria-selected",!1),s.removeAriaActivedescendant(t.attr("id")),e.focused=!1)}}}}])}()},5863:(e,t,r)=>{r(992),r(9432),r(9393),r(6927),r(9852),r(5673),r(6967),r(1624),r(9310),r(955),r(687),r(8699),r(3119),r(8899),r(9312),r(5462),r(9613),r(6130),r(2803),r(1847),r(5118),r(3406),r(3181),r(4789),r(2669),r(424),r(4992),r(9065),r(6779),r(7847),r(5689),r(3366),r(1178),r(8062),r(3650)},992:()=>{!function(){"use strict";angular.module("ui.grid.i18n",[]),angular.module("ui.grid",["ui.grid.i18n"])}()},9432:()=>{!function(){"use strict";angular.module("ui.grid").constant("uiGridConstants",{LOG_DEBUG_MESSAGES:!0,LOG_WARN_MESSAGES:!0,LOG_ERROR_MESSAGES:!0,CUSTOM_FILTERS:/CUSTOM_FILTERS/g,COL_FIELD:/COL_FIELD/g,MODEL_COL_FIELD:/MODEL_COL_FIELD/g,TOOLTIP:/title=\"TOOLTIP\"/g,DISPLAY_CELL_TEMPLATE:/DISPLAY_CELL_TEMPLATE/g,TEMPLATE_REGEXP:/<.+>/,FUNC_REGEXP:/(\([^)]*\))?$/,DOT_REGEXP:/\./g,APOS_REGEXP:/'/g,BRACKET_REGEXP:/^(.*)((?:\s*\[\s*\d+\s*\]\s*)|(?:\s*\[\s*"(?:[^"\\]|\\.)*"\s*\]\s*)|(?:\s*\[\s*'(?:[^'\\]|\\.)*'\s*\]\s*))(.*)$/,COL_CLASS_PREFIX:"ui-grid-col",ENTITY_BINDING:"$$this",events:{GRID_SCROLL:"uiGridScroll",COLUMN_MENU_SHOWN:"uiGridColMenuShown",ITEM_DRAGGING:"uiGridItemDragStart",COLUMN_HEADER_CLICK:"uiGridColumnHeaderClick"},keymap:{TAB:9,STRG:17,CAPSLOCK:20,CTRL:17,CTRLRIGHT:18,CTRLR:18,SHIFT:16,RETURN:13,ENTER:13,BACKSPACE:8,BCKSP:8,ALT:18,ALTR:17,ALTRIGHT:17,SPACE:32,WIN:91,MAC:91,FN:null,PG_UP:33,PG_DOWN:34,UP:38,DOWN:40,LEFT:37,RIGHT:39,ESC:27,DEL:46,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123},ASC:"asc",DESC:"desc",filter:{STARTS_WITH:2,ENDS_WITH:4,EXACT:8,CONTAINS:16,GREATER_THAN:32,GREATER_THAN_OR_EQUAL:64,LESS_THAN:128,LESS_THAN_OR_EQUAL:256,NOT_EQUAL:512,SELECT:"select",INPUT:"input"},aggregationTypes:{sum:2,count:4,avg:8,min:16,max:32},CURRENCY_SYMBOLS:["¤","؋","Ar","Ƀ","฿","B/.","Br","Bs.","Bs.F.","GH₵","¢","c","Ch.","₡","C$","D","ден","دج",".د.ب","د.ع","JD","د.ك","ل.د","дин","د.ت","د.م.","د.إ","Db","$","₫","Esc","€","ƒ","Ft","FBu","FCFA","CFA","Fr","FRw","G","gr","₲","h","₴","₭","Kč","kr","kn","MK","ZK","Kz","K","L","Le","лв","E","lp","M","KM","MT","₥","Nfk","₦","Nu.","UM","T$","MOP$","₱","Pt.","£","ج.م.","LL","LS","P","Q","q","R","R$","ر.ع.","ر.ق","ر.س","៛","RM","p","Rf.","₹","₨","SRe","Rp","₪","Ksh","Sh.So.","USh","S/","SDR","сом","৳\t","WS$","₮","VT","₩","¥","zł"],scrollDirection:{UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",NONE:"none"},dataChange:{ALL:"all",EDIT:"edit",ROW:"row",COLUMN:"column",OPTIONS:"options"},scrollbars:{NEVER:0,ALWAYS:1,WHEN_NEEDED:2}})}()},9613:()=>{angular.module("ui.grid").directive("uiGridCell",["$compile","$parse","gridUtil","uiGridConstants",function(e,t,r,i){return{priority:0,scope:!1,require:"?^uiGrid",compile:function(){return{pre:function(t,n,o,a){if(a&&t.col.compiledElementFn)(0,t.col.compiledElementFn)(t,(function(e,t){n.append(e)}));else if(a&&!t.col.compiledElementFn)t.col.getCompiledElementFn().then((function(e){e(t,(function(e,t){n.append(e)}))})).catch(angular.noop);else{var l=t.col.cellTemplate.replace(i.MODEL_COL_FIELD,"row.entity."+r.preEval(t.col.field)).replace(i.COL_FIELD,"grid.getCellValue(row, col)"),s=e(l)(t);n.append(s)}},post:function(e,t){var r,n=e.col.getColClass(!1);function o(i){var n=t;r&&(n.removeClass(r),r=null),r=angular.isFunction(e.col.cellClass)?e.col.cellClass(e.grid,e.row,e.col,e.rowRenderIndex,e.colRenderIndex):e.col.cellClass,n.addClass(r)}t.addClass(n),e.col.cellClass&&o();var a=e.grid.registerDataChangeCallback(o,[i.dataChange.COLUMN,i.dataChange.EDIT]);var l=e.$watch("row",(function(i,a){if(i!==a){(r||e.col.cellClass)&&o();var l=e.col.getColClass(!1);l!==n&&(t.removeClass(n),t.addClass(l),n=l)}}));function s(){a(),l()}e.$on("$destroy",s),t.on("$destroy",s)}}}}}])},6130:()=>{angular.module("ui.grid").service("uiGridColumnMenuService",["i18nService","uiGridConstants","gridUtil",function(e,t,r){var i={initialize:function(e,t){e.grid=t.grid,t.columnMenuScope=e,e.menuShown=!1},setColMenuItemWatch:function(e){var t=e.$watch("col.menuItems",(function(t){void 0!==t&&t&&angular.isArray(t)?(t.forEach((function(t){void 0!==t.context&&t.context||(t.context={}),t.context.col=e.col})),e.menuItems=e.defaultMenuItems.concat(t)):e.menuItems=e.defaultMenuItems}));e.$on("$destroy",t)},getGridOption:function(e,t){return void 0!==e.grid&&e.grid&&e.grid.options&&e.grid.options[t]},sortable:function(e){return Boolean(this.getGridOption(e,"enableSorting")&&void 0!==e.col&&e.col&&e.col.enableSorting)},isActiveSort:function(e,t){return Boolean(void 0!==e.col&&void 0!==e.col.sort&&void 0!==e.col.sort.direction&&e.col.sort.direction===t)},suppressRemoveSort:function(e){return Boolean(e.col&&e.col.suppressRemoveSort)},hideable:function(e){return Boolean(this.getGridOption(e,"enableHiding")&&void 0!==e.col&&e.col&&(e.col.colDef&&!1!==e.col.colDef.enableHiding||!e.col.colDef)||!this.getGridOption(e,"enableHiding")&&e.col&&e.col.colDef&&e.col.colDef.enableHiding)},getDefaultMenuItems:function(r){return[{title:function(){return e.getSafeText("sort.ascending")},icon:"ui-grid-icon-sort-alt-up",action:function(e){e.stopPropagation(),r.sortColumn(e,t.ASC)},shown:function(){return i.sortable(r)},active:function(){return i.isActiveSort(r,t.ASC)}},{title:function(){return e.getSafeText("sort.descending")},icon:"ui-grid-icon-sort-alt-down",action:function(e){e.stopPropagation(),r.sortColumn(e,t.DESC)},shown:function(){return i.sortable(r)},active:function(){return i.isActiveSort(r,t.DESC)}},{title:function(){return e.getSafeText("sort.remove")},icon:"ui-grid-icon-cancel",action:function(e){e.stopPropagation(),r.unsortColumn()},shown:function(){return i.sortable(r)&&void 0!==r.col&&void 0!==r.col.sort&&void 0!==r.col.sort.direction&&null!==r.col.sort.direction&&!i.suppressRemoveSort(r)}},{title:function(){return e.getSafeText("column.hide")},icon:"ui-grid-icon-cancel",shown:function(){return i.hideable(r)},action:function(e){e.stopPropagation(),r.hideColumn()}}]},getColumnElementPosition:function(e,t,i){var n={};return n.left=i[0].offsetLeft,n.top=i[0].offsetTop,n.parentLeft=i[0].offsetParent.offsetLeft,n.offset=0,t.grid.options.offsetLeft&&(n.offset=t.grid.options.offsetLeft),n.height=r.elementHeight(i,!0),n.width=r.elementWidth(i,!0),n},repositionMenu:function(e,t,i,n,o){var a=n[0].querySelectorAll(".ui-grid-menu"),l=r.closestElm(o,".ui-grid-render-container"),s=l.getBoundingClientRect().left-e.grid.element[0].getBoundingClientRect().left,d=l.querySelectorAll(".ui-grid-viewport")[0].scrollLeft,u=r.elementWidth(a,!0),c=t.lastMenuPaddingRight?t.lastMenuPaddingRight:e.lastMenuPaddingRight?e.lastMenuPaddingRight:10;0!==a.length&&0!==a[0].querySelectorAll(".ui-grid-menu-mid").length&&(c=parseInt(r.getStyles(angular.element(a)[0]).paddingRight,10),e.lastMenuPaddingRight=c,t.lastMenuPaddingRight=c);var g=i.left+s-d+i.parentLeft+i.width+c;g<i.offset+u&&(g=Math.max(i.left-d+i.parentLeft-c+u,i.offset+u)),n.css("left",g+"px"),n.css("top",i.top+i.height+"px")}};return i}]).directive("uiGridColumnMenu",["$timeout","gridUtil","uiGridConstants","uiGridColumnMenuService","$document",function(e,t,r,i,n){return{priority:0,scope:!0,require:"^uiGrid",templateUrl:"ui-grid/uiGridColumnMenu",replace:!0,link:function(o,a,l,s){function d(e){o.col&&(o.col.menuShown=e)}i.initialize(o,s),o.defaultMenuItems=i.getDefaultMenuItems(o),o.menuItems=o.defaultMenuItems,i.setColMenuItemWatch(o),o.showMenu=function(e,t,r){d(!1),o.col=e,d(!0);var n=i.getColumnElementPosition(o,e,t);o.menuShown?(o.colElement=t,o.colElementPosition=n,o.hideThenShow=!0,o.$broadcast("hide-menu",{originalEvent:r})):(o.menuShown=!0,o.colElement=t,o.colElementPosition=n,o.$broadcast("show-menu",{originalEvent:r}))},o.hideMenu=function(e){o.menuShown=!1,d(!1),e||o.$broadcast("hide-menu")},o.$on("menu-hidden",(function(){var e=angular.element(a[0].querySelector(".ui-grid-menu-items"))[0];a[0].removeAttribute("style"),o.hideThenShow?(delete o.hideThenShow,o.$broadcast("show-menu"),o.menuShown=!0):(o.hideMenu(!0),o.col&&o.col.visible&&t.focus.bySelector(n,".ui-grid-header-cell."+o.col.getColClass()+" .ui-grid-column-menu-button",o.col.grid,!1).catch(angular.noop)),e&&(e.onkeydown=null,angular.forEach(e.children,(function(e){e.onkeydown=null})))})),o.$on("menu-shown",(function(){e((function(){i.repositionMenu(o,o.col,o.colElementPosition,a,o.colElement),o.menuItems.some((function(e){return e.shown()}))&&t.focus.bySelector(n,".ui-grid-menu-items .ui-grid-menu-item:not(.ng-hide)",!0).catch(angular.noop),delete o.colElementPosition,delete o.columnElement,function(){var e,t=angular.element(a[0].querySelector(".ui-grid-menu-items"))[0],i=[];function n(e,t,n,o){e.keyCode===r.keymap.TAB&&(t?e.preventDefault():n&&(e.preventDefault(),i[o].focus()))}t&&(t.onkeydown=function(e){e.keyCode===r.keymap.ESC&&(e.preventDefault(),o.hideMenu())},e=t.querySelectorAll(".ui-grid-menu-item:not(.ng-hide)"),angular.forEach(e,(function(e){null!==e.offsetParent&&this.push(e)}),i),i.length&&(1===i.length?i[0].onkeydown=function(e){n(e,!0)}:(i[0].onkeydown=function(e){n(e,!1,e.shiftKey,i.length-1)},i[i.length-1].onkeydown=function(e){n(e,!1,!e.shiftKey,0)})))}()}))})),o.sortColumn=function(e,t){e.stopPropagation(),o.grid.sortColumn(o.col,t,!0).then((function(){o.grid.refresh(),o.hideMenu()})).catch(angular.noop)},o.unsortColumn=function(){o.col.unsort(),o.grid.refresh(),o.hideMenu()},o.hideColumn=function(){o.col.colDef.visible=!1,o.col.visible=!1,o.grid.queueGridRefresh(),o.hideMenu(),o.grid.api.core.notifyDataChange(r.dataChange.COLUMN),o.grid.api.core.raise.columnVisibilityChanged(o.col),e((function(){var e,r,i=function(){return t.focus.byId("grid-menu",o.grid)};if(o.grid.columns.some((function(t,r){if(angular.equals(t,o.col))return e=r,!0})),o.grid.columns.some((function(t,i){if(!t.visible)return!1;if(i<e)r=t;else{if(i>e&&!r)return r=t,!0;if(i>e&&r)return!0}})),r){var a=r.getColClass();t.focus.bySelector(n,".ui-grid-header-cell."+a+" .ui-grid-header-cell-primary-focus",!0).then(angular.noop,(function(e){if("canceled"!==e)return i()})).catch(angular.noop)}else i()}))}},controller:["$scope",function(e){var t=this;e.$watch("menuItems",(function(e){t.menuItems=e}))}]}}])},2803:()=>{!function(){"use strict";angular.module("ui.grid").directive("uiGridFilter",["$compile","$templateCache","i18nService","gridUtil",function(e,t,r,i){return{compile:function(){return{pre:function(t,r){t.col.updateFilters=function(i){if(r.children().remove(),i){var n=t.col.filterHeaderTemplate;void 0===n&&""!==t.col.providedFilterHeaderTemplate?t.col.filterHeaderTemplatePromise&&t.col.filterHeaderTemplatePromise.then((function(){n=t.col.filterHeaderTemplate,r.append(e(n)(t))})):r.append(e(n)(t))}},t.$on("$destroy",(function(){delete t.col.filterable,delete t.col.updateFilters}))},post:function(e,t){e.aria=r.getSafeText("headerCell.aria"),e.removeFilter=function(e,r){e.term=null,i.focus.bySelector(t,".ui-grid-filter-input-"+r)}}}}}}])}()},1847:()=>{!function(){"use strict";angular.module("ui.grid").directive("uiGridFooterCell",["$timeout","gridUtil","uiGridConstants","$compile",function(e,t,r,i){return{priority:0,scope:{col:"=",row:"=",renderIndex:"="},replace:!0,require:"^uiGrid",compile:function(){return{pre:function(e,t){var r=e.col.footerCellTemplate;void 0===r&&""!==e.col.providedFooterCellTemplate?e.col.footerCellTemplatePromise&&e.col.footerCellTemplatePromise.then((function(){r=e.col.footerCellTemplate,t.append(i(r)(e))})):t.append(i(r)(e))},post:function(e,t,i,n){e.grid=n.grid;var o,a=e.col.getColClass(!1);t.addClass(a);var l=function(){var r=t;o&&(r.removeClass(o),o=null),o=angular.isFunction(e.col.footerCellClass)?e.col.footerCellClass(e.grid,e.row,e.col,e.rowRenderIndex,e.colRenderIndex):e.col.footerCellClass,r.addClass(o)};e.col.footerCellClass&&l(),e.col.updateAggregationValue();var s=e.grid.registerDataChangeCallback(l,[r.dataChange.COLUMN]);e.grid.api.core.on.rowsRendered(e,e.col.updateAggregationValue),e.grid.api.core.on.rowsRendered(e,l),e.$on("$destroy",s)}}}}}])}()},5118:()=>{!function(){"use strict";angular.module("ui.grid").directive("uiGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(e,t,r,i,n){return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(e,r){return{pre:function(e,r,n,o){var a=o[0],l=o[1];e.grid=a.grid,e.colContainer=l.colContainer,l.footer=r;var s=e.grid.options.footerTemplate;i.getTemplate(s)