From ca0d59dd13b99b344a93d7180a08c46b9b9f8f81 Mon Sep 17 00:00:00 2001 From: Kshitij Sobti Date: Fri, 18 May 2018 06:02:51 +0530 Subject: [PATCH 1/2] Add a CSV Viewer for viewing CSV reports in the browser. --- lms/djangoapps/instructor/tests/test_api.py | 9 +- lms/djangoapps/instructor/views/api.py | 12 +- lms/djangoapps/static_template_view/urls.py | 1 + lms/envs/common.py | 7 + lms/static/css/vendor/ag-grid.css | 1958 +++++++++++++++++ lms/static/css/vendor/ag-theme-fresh.css | 1758 +++++++++++++++ lms/static/js/csv_viewer/.eslintrc.js | 7 + .../components/CSVViewer/CSVViewer.jsx | 81 + .../CSVViewer/CSVViewerContainer.jsx | 15 + .../js/csv_viewer/data/actions/constants.js | 7 + .../js/csv_viewer/data/actions/csvFetcher.js | 40 + .../js/csv_viewer/data/reducers/index.js | 47 + lms/static/js/csv_viewer/data/store.js | 30 + lms/static/js/csv_viewer/index.jsx | 11 + lms/static/js/instructor_dashboard/util.js | 17 +- lms/static/sass/_build-lms-v1.scss | 1 + .../sass/course/instructor/_instructor_2.scss | 8 +- lms/static/sass/views/_csv_viewer.scss | 7 + .../static_templates/csv-viewer.html | 43 + lms/templates/static_templates/media-kit.html | 2 +- package-lock.json | 25 +- package.json | 4 + webpack.common.config.js | 2 + 23 files changed, 4080 insertions(+), 12 deletions(-) create mode 100644 lms/static/css/vendor/ag-grid.css create mode 100644 lms/static/css/vendor/ag-theme-fresh.css create mode 100644 lms/static/js/csv_viewer/.eslintrc.js create mode 100644 lms/static/js/csv_viewer/components/CSVViewer/CSVViewer.jsx create mode 100644 lms/static/js/csv_viewer/components/CSVViewer/CSVViewerContainer.jsx create mode 100644 lms/static/js/csv_viewer/data/actions/constants.js create mode 100644 lms/static/js/csv_viewer/data/actions/csvFetcher.js create mode 100644 lms/static/js/csv_viewer/data/reducers/index.js create mode 100644 lms/static/js/csv_viewer/data/store.js create mode 100644 lms/static/js/csv_viewer/index.jsx create mode 100644 lms/static/sass/views/_csv_viewer.scss create mode 100644 lms/templates/static_templates/csv-viewer.html diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index cd11d51ccd9a..233700e4e1da 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -3139,12 +3139,13 @@ def test_list_report_downloads(self): { "url": "https://1.mock.url", "link": "mock_file_name_1", - "name": "mock_file_name_1" - }, - { + "preview_url": '/csv-viewer?csvUrl=https://1.mock.url', + "name": "mock_file_name_1", + }, { "url": "https://2.mock.url", "link": "mock_file_name_2", - "name": "mock_file_name_2" + "preview_url": '/csv-viewer?csvUrl=https://2.mock.url', + "name": "mock_file_name_2", } ] } diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index 4bd40fbee25c..5d2518b76a16 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -2395,10 +2395,17 @@ def list_report_downloads(request, course_id): response_payload = { 'downloads': [ - dict(name=name, url=url, link=HTML('{}').format(HTML(url), Text(name))) - for name, url in report_store.links_for(course_id) if report_name is None or name == report_name + dict( + name=name, + url=url, + preview_url='{}?csvUrl={}'.format(reverse('csv-viewer'), url), + link=HTML('{}').format(HTML(url), Text(name)) + ) + for name, url in report_store.links_for(course_id) + if report_name is None or name == report_name ] } + return JsonResponse(response_payload) @@ -2420,6 +2427,7 @@ def list_financial_report_downloads(_request, course_id): for name, url in report_store.links_for(course_id) ] } + return JsonResponse(response_payload) diff --git a/lms/djangoapps/static_template_view/urls.py b/lms/djangoapps/static_template_view/urls.py index 0371b97a561d..efefb88a41a2 100644 --- a/lms/djangoapps/static_template_view/urls.py +++ b/lms/djangoapps/static_template_view/urls.py @@ -24,6 +24,7 @@ url(r'^press$', views.render, {'template': 'press.html'}, name="press"), url(r'^media-kit$', views.render, {'template': 'media-kit.html'}, name="media-kit"), url(r'^copyright$', views.render, {'template': 'copyright.html'}, name="copyright"), + url(r'^csv-viewer$', views.render, {'template': 'csv-viewer.html'}, name="csv-viewer"), # Press releases url(r'^press/([_a-zA-Z0-9-]+)$', views.render_press_release, name='press_release'), diff --git a/lms/envs/common.py b/lms/envs/common.py index 73caf09ce0e5..d5c81b915a32 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -1515,6 +1515,13 @@ def _make_locale_paths(settings): ], 'output_filename': 'css/lms-style-vendor.css', }, + 'style-vendor-ag-grid': { + 'source_filenames': [ + 'css/vendor/ag-grid.css', + 'css/vendor/ag-theme-fresh.css', + ], + 'output_filename': 'css/lms-style-vendor-ag-grid.css', + }, 'style-vendor-tinymce-content': { 'source_filenames': [ 'js/vendor/tinymce/js/tinymce/skins/studio-tmce4/content.min.css' diff --git a/lms/static/css/vendor/ag-grid.css b/lms/static/css/vendor/ag-grid.css new file mode 100644 index 000000000000..a326170442ce --- /dev/null +++ b/lms/static/css/vendor/ag-grid.css @@ -0,0 +1,1958 @@ +ag-grid-angular { + display: block; } + +ag-grid-ng2 { + display: block; } + +ag-grid { + display: block; } + +ag-grid-polymer { + display: block; } + +ag-grid-aurelia { + display: block; } + +.ag-rtl { + direction: rtl; } + +.ag-ltr { + direction: ltr; } + +.ag-select-agg-func-popup { + position: absolute; } + +.ag-body-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-root { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* was getting some 'should be there' scrolls, this sorts it out */ + overflow: hidden; + /* set to relative, so absolute popups appear relative to this */ + position: relative; } + +.ag-layout-normal .ag-root { + height: 100%; } + +.ag-font-style { + cursor: default; + /* disable user mouse selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-layout-for-print { + display: block; + white-space: nowrap; } + +.ag-layout-for-print .ag-row, +.ag-layout-for-print .ag-cell { + page-break-inside: avoid !important; } + +.ag-layout-normal { + height: 100%; } + +.ag-popup-backdrop { + height: 100%; + left: 0; + position: fixed; + top: 0; + width: 100%; } + +.ag-header { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + white-space: nowrap; + width: 100%; } + +.ag-layout-normal .ag-header { + left: 0; + position: absolute; + top: 0; } + +.ag-pinned-left-header { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: left; + height: 100%; + overflow: hidden; } + +.ag-pinned-right-header { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: right; + height: 100%; + overflow: hidden; } + +.ag-header-viewport { + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 100%; + overflow: hidden; } + +.ag-layout-normal .ag-header-row { + position: absolute; } + +.ag-layout-normal .ag-header-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 100%; + position: relative; + white-space: nowrap; } + +.ag-layout-auto-height .ag-header-row { + position: absolute; } + +.ag-layout-auto-height .ag-header-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 100%; + position: relative; + white-space: nowrap; } + +.ag-layout-for-print .ag-header-container { + white-space: nowrap; } + +.ag-header-overlay { + display: block; + position: absolute; } + +.ag-header-cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + height: 100%; + position: absolute; + vertical-align: bottom; } + +.ag-floating-filter { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + position: absolute; } + +.ag-floating-filter-body { + height: 20px; + margin-right: 25px; } + +.ag-floating-filter-full-body { + height: 20px; + width: 100%; } + +.ag-floating-filter-input { + width: 100%; } + +.ag-floating-filter-input:-moz-read-only { + background-color: #eee; } + +.ag-floating-filter-input:read-only { + background-color: #eee; } + +.ag-floating-filter-menu { + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-dnd-ghost { + background: #e5e5e5; + border: 1px solid black; + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: move; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.4; + overflow: hidden; + padding: 3px; + position: absolute; + text-overflow: ellipsis; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-dnd-ghost-icon { + display: inline-block; + float: left; + padding: 2px; } + +.ag-dnd-ghost-label { + display: inline-block; } + +.ag-header-group-cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + height: 100%; + overflow: hidden; + position: absolute; + text-overflow: ellipsis; } + +.ag-header-group-cell-label { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + display: -ms-flexbox; + display: flex; } + +.ag-header-cell-label { + overflow: hidden; + text-overflow: ellipsis; } + +.ag-header-cell-resize { + cursor: col-resize; + height: 100%; + width: 4px; } + +.ag-ltr .ag-header-cell-resize { + float: right; } + +.ag-ltr .ag-pinned-right-header .ag-header-cell-resize { + float: left; } + +.ag-rtl .ag-header-cell-resize { + float: left; } + +.ag-rtl .ag-pinned-left-header .ag-header-cell-resize { + float: right; } + +.ag-ltr .ag-header-select-all { + float: left; } + +.ag-rtl .ag-header-select-all { + float: right; } + +.ag-header-expand-icon { + padding-left: 4px; } + +.ag-header-cell-menu-button { + float: right; } + +.ag-overlay-panel { + display: table; + height: 100%; + pointer-events: none; + width: 100%; } + +.ag-overlay-wrapper { + display: table-cell; + text-align: center; + vertical-align: middle; } + +.ag-bl-overlay { + height: 100%; + left: 0; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; } + +.ag-bl-full-height { + height: 100%; + overflow: hidden; + position: relative; } + +.ag-bl-west { + float: left; } + +.ag-bl-full-height-west { + height: 100%; } + +.ag-bl-east { + float: right; } + +.ag-bl-full-height-east { + height: 100%; } + +.ag-bl-full-height-center { + height: 100%; } + +.ag-bl-normal { + height: 100%; + position: relative; } + +.ag-bl-normal-center-row { + height: 100%; + overflow: hidden; } + +.ag-bl-normal-west { + float: left; + height: 100%; } + +.ag-bl-normal-east { + float: right; + height: 100%; } + +.ag-column-panel { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + overflow-y: auto; } + +.ag-column-panel-center { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + max-height: 100vh; + min-height: 400px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + overflow-x: hidden; } + +.ag-bl-normal-center { + height: 100%; } + +.ag-bl-dont-fill { + position: relative; } + +.ag-body { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; } + +.ag-layout-normal .ag-body { + height: 100%; + position: absolute; } + +.ag-floating-top { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + white-space: nowrap; + width: 100%; } + +.ag-layout-normal .ag-floating-top { + left: 0; + position: absolute; } + +.ag-pinned-left-floating-top { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: left; + overflow: hidden; + position: relative; } + +.ag-layout-normal .ag-pinned-left-floating-top { + height: 100%; } + +.ag-pinned-right-floating-top { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: right; + overflow: hidden; + position: relative; } + +.ag-layout-normal .ag-pinned-right-floating-top { + height: 100%; } + +.ag-floating-top-viewport { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; } + +.ag-layout-normal .ag-floating-top-viewport { + height: 100%; } + +.ag-floating-top-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + white-space: nowrap; } + +.ag-floating-bottom { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + white-space: nowrap; + width: 100%; } + +.ag-layout-normal .ag-floating-bottom { + left: 0; + position: absolute; } + +.ag-pinned-left-floating-bottom { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: left; + overflow: hidden; + position: relative; } + +.ag-layout-normal .ag-pinned-left-floating-bottom { + height: 100%; } + +.ag-pinned-right-floating-bottom { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + float: right; + overflow: hidden; + position: relative; } + +.ag-layout-normal .ag-pinned-right-floating-bottom { + height: 100%; } + +.ag-floating-bottom-viewport { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; } + +.ag-layout-normal .ag-floating-bottom-viewport { + height: 100%; } + +.ag-floating-bottom-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + white-space: nowrap; } + +.ag-hacked-scroll .ag-pinned-left-cols-viewport { + float: left; } + +.ag-pinned-left-cols-container { + display: inline-block; + position: relative; } + +.ag-hacked-scroll .ag-pinned-right-cols-viewport { + float: right; } + +.ag-ltr .ag-hacked-scroll .ag-pinned-right-cols-viewport { + overflow-x: hidden; + overflow-y: auto; } + +.ag-ltr .ag-hacked-scroll .ag-pinned-left-cols-viewport { + overflow: hidden; } + +.ag-rtl .ag-hacked-scroll .ag-pinned-right-cols-viewport { + overflow: hidden; } + +.ag-rtl .ag-hacked-scroll .ag-pinned-left-cols-viewport { + overflow-x: hidden; + overflow-y: auto; } + +.ag-native-scroll .ag-pinned-right-cols-viewport { + float: right; + overflow-x: hidden; + overflow-y: auto; } + +.ag-native-scroll .ag-pinned-left-cols-viewport { + float: left; + overflow-x: hidden; + overflow-y: auto; } + +.ag-hide-scroll-bar { + margin-right: -16px; + overflow-y: scroll; + overflow-x: hidden; } + +.ag-pinned-right-cols-container { + display: inline-block; + position: relative; } + +.ag-layout-normal .ag-body-viewport-wrapper { + height: 100%; } + +.ag-body-viewport { + overflow-x: auto; + overflow-y: auto; } + +.ag-layout-normal .ag-body-viewport { + height: 100%; } + +.ag-full-width-viewport { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline; + height: 100%; + left: 0; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; } + +.ag-hacked-scroll .ag-full-width-viewport { + overflow: hidden; } + +.ag-native-scroll .ag-full-width-viewport { + overflow-y: auto; + overflow-x: hidden; } + +.ag-full-width-container { + overflow: hidden; + position: relative; + width: 100%; } + +.ag-floating-bottom-full-width-container { + display: inline; + height: 100%; + left: 0; + overflow: hidden; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; } + +.ag-floating-top-full-width-container { + display: inline; + height: 100%; + left: 0; + overflow: hidden; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; } + +.ag-full-width-row { + overflow: hidden; + pointer-events: all; } + +.ag-layout-normal .ag-body-container { + display: inline-block; + margin-bottom: -2px; + position: relative; } + +.ag-layout-auto-height .ag-body-container { + display: block; + position: relative; } + +.ag-row-animation .ag-row { + -webkit-transition: height 0.4s, background-color 0.1s, opacity 0.2s, -webkit-transform 0.4s; + transition: height 0.4s, background-color 0.1s, opacity 0.2s, -webkit-transform 0.4s; + transition: transform 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s; + transition: transform 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s, -webkit-transform 0.4s; } + +.ag-row-no-animation .ag-row { + -webkit-transition: background-color 0.1s; + transition: background-color 0.1s; } + +.ag-row { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.ag-layout-normal .ag-row { + position: absolute; + white-space: nowrap; + width: 100%; } + +.ag-layout-auto-height .ag-row { + position: relative; + white-space: nowrap; + width: 100%; } + +.ag-layout-for-print .ag-row { + position: relative; } + +.ag-column-moving .ag-cell { + -webkit-transition: left 0.2s; + transition: left 0.2s; } + +.ag-column-moving .ag-header-cell { + -webkit-transition: left 0.2s; + transition: left 0.2s; } + +.ag-column-moving .ag-header-group-cell { + -webkit-transition: left 0.2s, width 0.2s; + transition: left 0.2s, width 0.2s; } + +.ag-column-drop { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; } + +.ag-column-drop-vertical { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + height: 50px; + overflow: hidden; } + .ag-column-drop-vertical .ag-column-drop-list { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + height: 20px; + overflow-x: auto; } + .ag-column-drop-vertical .ag-column-drop-cell { + display: -webkit-box; + display: -ms-flexbox; + display: flex; } + .ag-column-drop-vertical .ag-column-drop-cell .ag-column-drop-cell-text { + overflow: hidden; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + text-overflow: ellipsis; + white-space: nowrap; } + .ag-column-drop-vertical .ag-column-drop-empty-message { + display: block; } + .ag-column-drop-vertical .ag-column-drop-cell-button { + line-height: 16px; } + +.ag-ltr .ag-column-drop-vertical .ag-column-drop-cell-button { + float: right; } + +.ag-rtl .ag-column-drop-vertical .ag-column-drop-cell-button { + float: left; } + +.ag-column-drop-horizontal { + white-space: nowrap; } + .ag-column-drop-horizontal .ag-column-drop-cell { + display: inline-block; } + .ag-column-drop-horizontal .ag-column-drop-empty-message { + display: inline-block; } + .ag-column-drop-horizontal .ag-column-drop-list { + height: 100%; } + +.ag-cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + overflow: hidden; + position: absolute; + text-overflow: ellipsis; + white-space: nowrap; } + +.ag-cell-with-height { + height: 100%; } + +.ag-value-slide-out { + margin-right: 5px; + opacity: 1; + -webkit-transition: opacity 3s, margin-right 3s; + transition: opacity 3s, margin-right 3s; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; } + +.ag-value-slide-out-end { + margin-right: 10px; + opacity: 0; } + +.ag-opacity-zero { + opacity: 0; } + +.ag-cell-edit-input { + height: 100%; + width: 100%; } + +.ag-group-cell-entire-row { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; } + +.ag-footer-cell-entire-row { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; } + +.ag-large .ag-root { + font-size: 20px; } + +.ag-popup-editor { + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-menu { + max-height: 100%; + overflow-y: auto; + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-menu-column-select-wrapper { + height: 300px; + overflow: auto; + width: 200px; } + +.ag-menu-list { + border-collapse: collapse; + display: table; } + +.ag-menu-option { + display: table-row; } + +.ag-menu-option-text { + display: table-cell; } + +.ag-menu-option-shortcut { + display: table-cell; } + +.ag-menu-option-icon { + display: table-cell; } + +.ag-menu-option-popup-pointer { + display: table-cell; } + +.ag-menu-separator { + display: table-row; } + +.ag-menu-separator-cell { + display: table-cell; } + +.ag-virtual-list-viewport { + height: 100%; + overflow-x: auto; + width: 100%; } + +.ag-virtual-list-container { + overflow: hidden; + position: relative; } + +.ag-rich-select { + cursor: default; + outline: none; } + +.ag-rich-select-row { + white-space: nowrap; } + +.ag-rich-select-list { + height: 200px; + width: 200px; } + +.ag-set-filter-list { + height: 200px; + width: 200px; } + +.ag-set-filter-item { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.ag-virtual-list-item { + position: absolute; + width: 100%; } + .ag-virtual-list-item span:empty:not(.ag-icon) { + border-left: 1px solid transparent; } + +.ag-filter-filter { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; } + +.ag-floating-filter-body input { + height: 19px; + margin: 0; + width: 100%; } + +.ag-floating-filter-full-body input { + height: 19px; + margin: 0; + width: 100%; } + +.ag-filter-select { + margin: 4px 4px 0 4px; + width: 110px; } + +.ag-list-selection { + cursor: default; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.ag-column-panel { + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: default; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 200px; } + +.ag-layout-normal .ag-column-panel { + height: 100%; } + +.ag-layout-normal .ag-column-panel-center { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + height: 100%; } + +.ag-column-container { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + height: 50px; + overflow: auto; } + +.ag-column-select-indent { + display: inline-block; } + +.ag-ltr .ag-column-select-column { + margin-left: 16px; } + +.ag-rtl .ag-column-select-column { + margin-right: 16px; } + +.ag-column-select-column, +.ag-column-select-column-group { + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + text-overflow: ellipsis; + white-space: nowrap; } + .ag-column-select-column .ag-column-select-label, + .ag-column-select-column .ag-column-select-column-group-label, + .ag-column-select-column-group .ag-column-select-label, + .ag-column-select-column-group .ag-column-select-column-group-label { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-negative: 1; + flex-shrink: 1; + overflow: hidden; + text-overflow: ellipsis; } + .ag-column-select-column .ag-column-drag, + .ag-column-select-column-group .ag-column-drag { + min-width: 16px; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.ag-column-select-panel { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; } + +.ag-tool-panel .ag-column-select-panel { + -webkit-box-flex: 4; + -ms-flex-positive: 4; + flex-grow: 4; } + +.ag-tool-panel-horizontal-resize { + cursor: col-resize; + height: 100%; + position: absolute; + top: 0; + width: 5px; + z-index: 1; } + +.ag-rtl .ag-tool-panel-horizontal-resize { + float: right; + -webkit-transform: translateX(3px); + transform: translateX(3px); } + +.ag-ltr .ag-tool-panel-horizontal-resize { + float: left; + -webkit-transform: translateX(-3px); + transform: translateX(-3px); } + +.ag-menu-column-select-wrapper .ag-column-select-panel { + height: 100%; } + +.ag-hidden { + display: none !important; } + +.ag-visibility-hidden { + visibility: hidden !important; } + +.ag-faded { + opacity: 0.3; } + +.ag-width-half { + display: inline-block; + width: 50%; } + +.ag-shake-left-to-right { + -webkit-animation-direction: alternate; + animation-direction: alternate; + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-name: ag-shake-left-to-right; + animation-name: ag-shake-left-to-right; } + +@-webkit-keyframes ag-shake-left-to-right { + from { + padding-left: 6px; + padding-right: 2px; } + to { + padding-left: 2px; + padding-right: 6px; } } + +@keyframes ag-shake-left-to-right { + from { + padding-left: 6px; + padding-right: 2px; } + to { + padding-left: 2px; + padding-right: 6px; } } + +/* icons are used outside of the grid root (in the ghost) */ +.ag-icon-aggregation { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOS41IDIuNWgtNmwyIDMuNS0yIDMuNWg2IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzAwMCIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-arrows { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTYgNmwtMS40MSAxLjQxTDE2LjE3IDlINHYyaDEyLjE3bC0xLjU4IDEuNTlMMTYgMTRsNC00eiIvPjxwYXRoIGQ9Ik00IDZsMS40MSAxLjQxTDMuODMgOUgxNnYySDMuODNsMS41OCAxLjU5TDQgMTRsLTQtNHoiLz48cGF0aCBkPSJNNiAxNmwxLjQxLTEuNDFMOSAxNi4xN1Y0aDJ2MTIuMTdsMS41OS0xLjU4TDE0IDE2bC00IDR6Ii8+PHBhdGggZD0iTTE0IDRsLTEuNDEgMS40MUwxMSAzLjgzVjE2SDlWMy44M0w3LjQxIDUuNDEgNiA0bDQtNHoiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-asc { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDJoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDYuMVY0LjM5M2gtNnY2SDQuN1Y2LjFoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik01LjUgMi41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuOTkzIDcuMzkzKSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzAwMCIgZD0iTTguNDkzIDUuNnYtLjcwN2gtNXY1SDQuMlY1LjZoNC4yOTN6Ii8+PC9nPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-checked-readonly { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik05IDNMNiA4LjVsLTIuNS0yIi8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-checked { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNGRkYiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik05IDNMNiA4LjVsLTIuNS0yIi8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-indeterminate-readonly { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNCA1aDR2Mkg0eiIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-indeterminate { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNGRkYiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNCA1aDR2Mkg0eiIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-unchecked-readonly { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48L2c+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-checkbox-unchecked { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNGRkYiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48L2c+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-column { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDR2Mkgxem0wIDNoNHY3SDF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-columns { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDR2Mkgxem02IDBoNHYySDd6TTEgNWg0djJIMXptNiAwaDR2Mkg3ek0xIDloNHYySDF6bTYgMGg0djJIN3oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-contracted { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-copy { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTQuNSA0LjVoNXY1aC01eiIvPjxwYXRoIGQ9Ik03LjUgMi41aC01djVoMnYyaDV2LTVoLTJ2LTJ6Ii8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-cut { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTMgMy4xMmMuNjY3LjA3OCAzIDEuNzQ1IDcgNS0uMzI2LjIwNC0uNjU5LjIwNC0xIDAtLjM0MS0uMjA2LTEuNjc0LTEuMjA2LTQtMyAwIC42NjYtLjY2Ny42NjYtMiAwLTItMS0xLTIuMTIgMC0yeiIvPjxwYXRoIGQ9Ik0zIDguMjY0Yy42NjctLjA4IDMtMS43NDYgNy01LS4zMjYtLjIwNS0uNjU5LS4yMDUtMSAwLS4zNDEuMjA0LTEuNjc0IDEuMjA0LTQgMyAwLS42NjctLjY2Ny0uNjY3LTIgMC0yIDEtMSAyLjExOSAwIDJ6Ii8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-desc { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDUuMlYzLjQ5M2gtNnY2SDQuN1Y1LjJoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik01LjUgMy41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg0NSA1Ljk5MyA2LjQ5MykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2IiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik04LjQ5MyA0Ljd2LS43MDdoLTV2NUg0LjJWNC43aDQuMjkzeiIvPjwvZz48L2c+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-expanded { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-eye-slash { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjAwMSAzLjkwOEwzIDRhMyAzIDAgMSAwIDUuOTk5LS4wOTJBNS4yNDggNS4yNDggMCAwIDAgNiAzYy0xLjEgMC0yLjEuMzAzLTIuOTk5LjkwOHoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNCA0LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMiAzLTMgNS0zczMuNjY3IDEgNSAzQzkuNjY3IDggOCA5IDYgOVMyLjMzMyA4IDEgNnoiIHN0cm9rZT0iIzAwMCIvPjxwYXRoIGQ9Ik00LjAwNCAyLjgzNWw0Ljk5MiA2LjMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz48cGF0aCBkPSJNMy4wMDQgMi44MzVsNC45OTIgNi4zMyIgc3Ryb2tlPSIjRkZGIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-eye { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjAwMSAzLjkwOEwzIDRhMyAzIDAgMSAwIDUuOTk5LS4wOTJBNS4yNDggNS4yNDggMCAwIDAgNiAzYy0xLjEgMC0yLjEuMzAzLTIuOTk5LjkwOHoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNCA0LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMiAzLTMgNS0zczMuNjY3IDEgNSAzQzkuNjY3IDggOCA5IDYgOVMyLjMzMyA4IDEgNnoiIHN0cm9rZT0iIzAwMCIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-filter { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAyaDEwTDcgNnY1TDUgOVY2TDEgMnptNCA0djFoMlY2SDV6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-group { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iIzAwMCIgZD0iTTcuNSAxLjVoM3YyaC0zem0wIDRoM3YyaC0zem0wIDRoM3YyaC0zeiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0yIDNoMXY4SDJ6bTEgM2g0djFIM3ptMi00aDN2MUg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0yIDEwaDV2MUgyeiIvPjxwYXRoIHN0cm9rZT0iIzAwMCIgZD0iTTEuNSAxLjVoM3YyaC0zeiIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-indeterminate { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjA1NiA0LjU4MWEzLjAwMSAzLjAwMSAwIDAgMCA1Ljg4OCAwQzguMDU5IDQuMTk0IDcuMDc4IDQgNiA0Yy0xLjA3OCAwLTIuMDYuMTk0LTIuOTQ0LjU4MXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNCA1LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMS4zMzMgMy0yIDUtMnMzLjY2Ny42NjcgNSAyQzkuNjY3IDcuMzMzIDggOCA2IDhzLTMuNjY3LS42NjctNS0yeiIgc3Ryb2tlPSIjMDAwIi8+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-left { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNNy45OTMgNC43VjIuOTkzaC02djZIMy43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNi41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNNiAyaDF2OEg2eiIvPjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgNC45OTMgNS45OTMpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNNy40OTMgNC4ydi0uNzA3aC01djVIMy4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-loading { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDFoMnYzSDV6Ii8+PHBhdGggaWQ9ImIiIGQ9Ik01IDhoMnYzSDV6Ii8+PHBhdGggaWQ9ImMiIGQ9Ik0xIDVoM3YySDF6Ii8+PHBhdGggaWQ9ImQiIGQ9Ik04IDVoM3YySDh6Ii8+PHBhdGggaWQ9ImUiIGQ9Ik00IDBoMnYzSDR6Ii8+PHBhdGggaWQ9ImYiIGQ9Ik00IDdoMnYzSDR6Ii8+PHBhdGggaWQ9ImciIGQ9Ik0wIDRoM3YySDB6Ii8+PHBhdGggaWQ9ImgiIGQ9Ik03IDRoM3YySDd6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYSIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTUuNSAxLjVoMXYyaC0xeiIvPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2IiLz48cGF0aCBzdHJva2U9IiM5Nzk3OTciIGQ9Ik01LjUgOC41aDF2MmgtMXoiLz48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNjIi8+PHBhdGggc3Ryb2tlPSIjOTc5Nzk3IiBkPSJNMS41IDUuNWgydjFoLTJ6Ii8+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZCIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTguNSA1LjVoMnYxaC0yeiIvPjxnIG9wYWNpdHk9Ii43MTQiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZSIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTQuNS41aDF2MmgtMXoiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUgNC4yOTMgNi43MDcpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNmIi8+PHBhdGggc3Ryb2tlPSIjOTc5Nzk3IiBkPSJNNC41IDcuNWgxdjJoLTF6Ii8+PC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZyIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTS41IDQuNWgydjFoLTJ6Ii8+PC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjaCIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTcuNSA0LjVoMnYxaC0yeiIvPjwvZz48L2c+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-menu { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDEwdjJIMXptMCA0aDEwdjJIMXptMCA0aDEwdjJIMXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-minus { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDh2MkgyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-none { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY2SDV6Ii8+PHBhdGggZD0iTTguMTQ2IDguMTgyVjYuNDc1aC01djVoMS43MDhWOC4xODJoMy4yOTJ6IiBpZD0iYiIvPjxwYXRoIGQ9Ik04LjUgMi45MTRWMS4yMDdoLTV2NWgxLjcwN1YyLjkxNEg4LjV6IiBpZD0iYyIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik01LjUgMy41aDF2NWgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuNjQ2IDguNDc1KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzAwMCIgZD0iTTcuNjQ2IDcuNjgydi0uNzA3aC00djRoLjcwOFY3LjY4MmgzLjI5MnoiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUgNiAzLjcwNykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2MiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik04IDIuNDE0di0uNzA3SDR2NGguNzA3VjIuNDE0SDh6Ii8+PC9nPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-not-allowed { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjQiLz48cGF0aCBkPSJNOC41IDMuNUwzLjQwMSA4LjU5OSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-paste { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTIuNSAyLjVoN3Y3aC03eiIvPjxwYXRoIGQ9Ik02LjUgMS41aC0xdjJoLTF2MWgzdi0xaC0xdi0yeiIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-pin { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0zIDJoNnYxSDh2NGwyIDFIN2wtMSAzLTEtM0gybDItMVYzSDN6Ii8+PHBhdGggZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iI0ZGRiIgZD0iTTUgM2gxdjRINXoiLz48cGF0aCBmaWxsLW9wYWNpdHk9Ii4yOCIgZmlsbD0iI0ZGRiIgZD0iTTQgM2gxdjNINHoiLz48L2c+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-pivot { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI5IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHBhdGggZD0iTTEwLjUgMy41aC05bTItMnY5IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+PHBhdGggZD0iTTcuNSA2LjVsMS0xIDEgMW0tMyAxbC0xIDEgMSAxIi8+PHBhdGggZD0iTTguNSA1LjV2M2gtMyIvPjwvZz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-plus { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik01IDJoMnY4SDV6Ii8+PHBhdGggZD0iTTIgNWg4djJIMnoiLz48L2c+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-right { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik00LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNOS45OTMgNC43VjIuOTkzaC02djZINS43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNNSAyaDF2OEg1eiIvPjwvZz48ZyB0cmFuc2Zvcm09InNjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgMCAyMi44NzQpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNOS40OTMgNC4ydi0uNzA3aC01djVINS4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-small-left { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMyA2bDQtNHY4eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-small-right { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNSAybDQgNC00IDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-small-up { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA3bDQtNCA0IDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-small-down { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-tick { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDUuNWwzIDMgNi02IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzAwMCIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-cross { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxMGw4LThtMCA4TDIgMiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-tree-open { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-tree-closed { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNSAybDQgNC00IDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.ag-icon-tree-indeterminate { + display: inline-block; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDh2MkgyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) center no-repeat; + background-size: 12px 12px; + -webkit-filter: "initial"; + filter: "initial"; + height: 12px; + width: 12px; } + +.loading-filter { + background-color: #e6e6e6; + height: 100%; + padding: 5px; + position: absolute; + top: 34px; + width: 100%; + z-index: 1; } + +.ag-details-row { + height: 100%; + width: 100%; } + +.ag-details-grid { + height: 100%; + width: 100%; } + +.ag-column-select-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + +.ag-ltr .ag-toolpanel-indent-1 { + padding-left: 10px; } + +.ag-rtl .ag-toolpanel-indent-1 { + padding-right: 10px; } + +.ag-ltr .ag-row-group-indent-1 { + padding-left: 10px; } + +.ag-rtl .ag-row-group-indent-1 { + padding-right: 10px; } + +.ag-ltr .ag-toolpanel-indent-2 { + padding-left: 20px; } + +.ag-rtl .ag-toolpanel-indent-2 { + padding-right: 20px; } + +.ag-ltr .ag-row-group-indent-2 { + padding-left: 20px; } + +.ag-rtl .ag-row-group-indent-2 { + padding-right: 20px; } + +.ag-ltr .ag-toolpanel-indent-3 { + padding-left: 30px; } + +.ag-rtl .ag-toolpanel-indent-3 { + padding-right: 30px; } + +.ag-ltr .ag-row-group-indent-3 { + padding-left: 30px; } + +.ag-rtl .ag-row-group-indent-3 { + padding-right: 30px; } + +.ag-ltr .ag-toolpanel-indent-4 { + padding-left: 40px; } + +.ag-rtl .ag-toolpanel-indent-4 { + padding-right: 40px; } + +.ag-ltr .ag-row-group-indent-4 { + padding-left: 40px; } + +.ag-rtl .ag-row-group-indent-4 { + padding-right: 40px; } + +.ag-ltr .ag-toolpanel-indent-5 { + padding-left: 50px; } + +.ag-rtl .ag-toolpanel-indent-5 { + padding-right: 50px; } + +.ag-ltr .ag-row-group-indent-5 { + padding-left: 50px; } + +.ag-rtl .ag-row-group-indent-5 { + padding-right: 50px; } + +.ag-ltr .ag-toolpanel-indent-6 { + padding-left: 60px; } + +.ag-rtl .ag-toolpanel-indent-6 { + padding-right: 60px; } + +.ag-ltr .ag-row-group-indent-6 { + padding-left: 60px; } + +.ag-rtl .ag-row-group-indent-6 { + padding-right: 60px; } + +.ag-ltr .ag-toolpanel-indent-7 { + padding-left: 70px; } + +.ag-rtl .ag-toolpanel-indent-7 { + padding-right: 70px; } + +.ag-ltr .ag-row-group-indent-7 { + padding-left: 70px; } + +.ag-rtl .ag-row-group-indent-7 { + padding-right: 70px; } + +.ag-ltr .ag-toolpanel-indent-8 { + padding-left: 80px; } + +.ag-rtl .ag-toolpanel-indent-8 { + padding-right: 80px; } + +.ag-ltr .ag-row-group-indent-8 { + padding-left: 80px; } + +.ag-rtl .ag-row-group-indent-8 { + padding-right: 80px; } + +.ag-ltr .ag-toolpanel-indent-9 { + padding-left: 90px; } + +.ag-rtl .ag-toolpanel-indent-9 { + padding-right: 90px; } + +.ag-ltr .ag-row-group-indent-9 { + padding-left: 90px; } + +.ag-rtl .ag-row-group-indent-9 { + padding-right: 90px; } + +.ag-ltr .ag-toolpanel-indent-10 { + padding-left: 100px; } + +.ag-rtl .ag-toolpanel-indent-10 { + padding-right: 100px; } + +.ag-ltr .ag-row-group-indent-10 { + padding-left: 100px; } + +.ag-rtl .ag-row-group-indent-10 { + padding-right: 100px; } + +.ag-ltr .ag-toolpanel-indent-11 { + padding-left: 110px; } + +.ag-rtl .ag-toolpanel-indent-11 { + padding-right: 110px; } + +.ag-ltr .ag-row-group-indent-11 { + padding-left: 110px; } + +.ag-rtl .ag-row-group-indent-11 { + padding-right: 110px; } + +.ag-ltr .ag-toolpanel-indent-12 { + padding-left: 120px; } + +.ag-rtl .ag-toolpanel-indent-12 { + padding-right: 120px; } + +.ag-ltr .ag-row-group-indent-12 { + padding-left: 120px; } + +.ag-rtl .ag-row-group-indent-12 { + padding-right: 120px; } + +.ag-ltr .ag-toolpanel-indent-13 { + padding-left: 130px; } + +.ag-rtl .ag-toolpanel-indent-13 { + padding-right: 130px; } + +.ag-ltr .ag-row-group-indent-13 { + padding-left: 130px; } + +.ag-rtl .ag-row-group-indent-13 { + padding-right: 130px; } + +.ag-ltr .ag-toolpanel-indent-14 { + padding-left: 140px; } + +.ag-rtl .ag-toolpanel-indent-14 { + padding-right: 140px; } + +.ag-ltr .ag-row-group-indent-14 { + padding-left: 140px; } + +.ag-rtl .ag-row-group-indent-14 { + padding-right: 140px; } + +.ag-ltr .ag-toolpanel-indent-15 { + padding-left: 150px; } + +.ag-rtl .ag-toolpanel-indent-15 { + padding-right: 150px; } + +.ag-ltr .ag-row-group-indent-15 { + padding-left: 150px; } + +.ag-rtl .ag-row-group-indent-15 { + padding-right: 150px; } + +.ag-ltr .ag-toolpanel-indent-16 { + padding-left: 160px; } + +.ag-rtl .ag-toolpanel-indent-16 { + padding-right: 160px; } + +.ag-ltr .ag-row-group-indent-16 { + padding-left: 160px; } + +.ag-rtl .ag-row-group-indent-16 { + padding-right: 160px; } + +.ag-ltr .ag-toolpanel-indent-17 { + padding-left: 170px; } + +.ag-rtl .ag-toolpanel-indent-17 { + padding-right: 170px; } + +.ag-ltr .ag-row-group-indent-17 { + padding-left: 170px; } + +.ag-rtl .ag-row-group-indent-17 { + padding-right: 170px; } + +.ag-ltr .ag-toolpanel-indent-18 { + padding-left: 180px; } + +.ag-rtl .ag-toolpanel-indent-18 { + padding-right: 180px; } + +.ag-ltr .ag-row-group-indent-18 { + padding-left: 180px; } + +.ag-rtl .ag-row-group-indent-18 { + padding-right: 180px; } + +.ag-ltr .ag-toolpanel-indent-19 { + padding-left: 190px; } + +.ag-rtl .ag-toolpanel-indent-19 { + padding-right: 190px; } + +.ag-ltr .ag-row-group-indent-19 { + padding-left: 190px; } + +.ag-rtl .ag-row-group-indent-19 { + padding-right: 190px; } + +.ag-ltr .ag-toolpanel-indent-20 { + padding-left: 200px; } + +.ag-rtl .ag-toolpanel-indent-20 { + padding-right: 200px; } + +.ag-ltr .ag-row-group-indent-20 { + padding-left: 200px; } + +.ag-rtl .ag-row-group-indent-20 { + padding-right: 200px; } + +.ag-ltr .ag-toolpanel-indent-21 { + padding-left: 210px; } + +.ag-rtl .ag-toolpanel-indent-21 { + padding-right: 210px; } + +.ag-ltr .ag-row-group-indent-21 { + padding-left: 210px; } + +.ag-rtl .ag-row-group-indent-21 { + padding-right: 210px; } + +.ag-ltr .ag-toolpanel-indent-22 { + padding-left: 220px; } + +.ag-rtl .ag-toolpanel-indent-22 { + padding-right: 220px; } + +.ag-ltr .ag-row-group-indent-22 { + padding-left: 220px; } + +.ag-rtl .ag-row-group-indent-22 { + padding-right: 220px; } + +.ag-ltr .ag-toolpanel-indent-23 { + padding-left: 230px; } + +.ag-rtl .ag-toolpanel-indent-23 { + padding-right: 230px; } + +.ag-ltr .ag-row-group-indent-23 { + padding-left: 230px; } + +.ag-rtl .ag-row-group-indent-23 { + padding-right: 230px; } + +.ag-ltr .ag-toolpanel-indent-24 { + padding-left: 240px; } + +.ag-rtl .ag-toolpanel-indent-24 { + padding-right: 240px; } + +.ag-ltr .ag-row-group-indent-24 { + padding-left: 240px; } + +.ag-rtl .ag-row-group-indent-24 { + padding-right: 240px; } + +.ag-ltr .ag-toolpanel-indent-25 { + padding-left: 250px; } + +.ag-rtl .ag-toolpanel-indent-25 { + padding-right: 250px; } + +.ag-ltr .ag-row-group-indent-25 { + padding-left: 250px; } + +.ag-rtl .ag-row-group-indent-25 { + padding-right: 250px; } + +.ag-ltr .ag-toolpanel-indent-26 { + padding-left: 260px; } + +.ag-rtl .ag-toolpanel-indent-26 { + padding-right: 260px; } + +.ag-ltr .ag-row-group-indent-26 { + padding-left: 260px; } + +.ag-rtl .ag-row-group-indent-26 { + padding-right: 260px; } + +.ag-ltr .ag-toolpanel-indent-27 { + padding-left: 270px; } + +.ag-rtl .ag-toolpanel-indent-27 { + padding-right: 270px; } + +.ag-ltr .ag-row-group-indent-27 { + padding-left: 270px; } + +.ag-rtl .ag-row-group-indent-27 { + padding-right: 270px; } + +.ag-ltr .ag-toolpanel-indent-28 { + padding-left: 280px; } + +.ag-rtl .ag-toolpanel-indent-28 { + padding-right: 280px; } + +.ag-ltr .ag-row-group-indent-28 { + padding-left: 280px; } + +.ag-rtl .ag-row-group-indent-28 { + padding-right: 280px; } + +.ag-ltr .ag-toolpanel-indent-29 { + padding-left: 290px; } + +.ag-rtl .ag-toolpanel-indent-29 { + padding-right: 290px; } + +.ag-ltr .ag-row-group-indent-29 { + padding-left: 290px; } + +.ag-rtl .ag-row-group-indent-29 { + padding-right: 290px; } + +.ag-ltr .ag-toolpanel-indent-30 { + padding-left: 300px; } + +.ag-rtl .ag-toolpanel-indent-30 { + padding-right: 300px; } + +.ag-ltr .ag-row-group-indent-30 { + padding-left: 300px; } + +.ag-rtl .ag-row-group-indent-30 { + padding-right: 300px; } + +.ag-ltr .ag-toolpanel-indent-31 { + padding-left: 310px; } + +.ag-rtl .ag-toolpanel-indent-31 { + padding-right: 310px; } + +.ag-ltr .ag-row-group-indent-31 { + padding-left: 310px; } + +.ag-rtl .ag-row-group-indent-31 { + padding-right: 310px; } + +.ag-ltr .ag-toolpanel-indent-32 { + padding-left: 320px; } + +.ag-rtl .ag-toolpanel-indent-32 { + padding-right: 320px; } + +.ag-ltr .ag-row-group-indent-32 { + padding-left: 320px; } + +.ag-rtl .ag-row-group-indent-32 { + padding-right: 320px; } + +.ag-ltr .ag-toolpanel-indent-33 { + padding-left: 330px; } + +.ag-rtl .ag-toolpanel-indent-33 { + padding-right: 330px; } + +.ag-ltr .ag-row-group-indent-33 { + padding-left: 330px; } + +.ag-rtl .ag-row-group-indent-33 { + padding-right: 330px; } + +.ag-ltr .ag-toolpanel-indent-34 { + padding-left: 340px; } + +.ag-rtl .ag-toolpanel-indent-34 { + padding-right: 340px; } + +.ag-ltr .ag-row-group-indent-34 { + padding-left: 340px; } + +.ag-rtl .ag-row-group-indent-34 { + padding-right: 340px; } + +.ag-ltr .ag-toolpanel-indent-35 { + padding-left: 350px; } + +.ag-rtl .ag-toolpanel-indent-35 { + padding-right: 350px; } + +.ag-ltr .ag-row-group-indent-35 { + padding-left: 350px; } + +.ag-rtl .ag-row-group-indent-35 { + padding-right: 350px; } + +.ag-ltr .ag-toolpanel-indent-36 { + padding-left: 360px; } + +.ag-rtl .ag-toolpanel-indent-36 { + padding-right: 360px; } + +.ag-ltr .ag-row-group-indent-36 { + padding-left: 360px; } + +.ag-rtl .ag-row-group-indent-36 { + padding-right: 360px; } + +.ag-ltr .ag-toolpanel-indent-37 { + padding-left: 370px; } + +.ag-rtl .ag-toolpanel-indent-37 { + padding-right: 370px; } + +.ag-ltr .ag-row-group-indent-37 { + padding-left: 370px; } + +.ag-rtl .ag-row-group-indent-37 { + padding-right: 370px; } + +.ag-ltr .ag-toolpanel-indent-38 { + padding-left: 380px; } + +.ag-rtl .ag-toolpanel-indent-38 { + padding-right: 380px; } + +.ag-ltr .ag-row-group-indent-38 { + padding-left: 380px; } + +.ag-rtl .ag-row-group-indent-38 { + padding-right: 380px; } + +.ag-ltr .ag-toolpanel-indent-39 { + padding-left: 390px; } + +.ag-rtl .ag-toolpanel-indent-39 { + padding-right: 390px; } + +.ag-ltr .ag-row-group-indent-39 { + padding-left: 390px; } + +.ag-rtl .ag-row-group-indent-39 { + padding-right: 390px; } + +.ag-ltr .ag-toolpanel-indent-40 { + padding-left: 400px; } + +.ag-rtl .ag-toolpanel-indent-40 { + padding-right: 400px; } + +.ag-ltr .ag-row-group-indent-40 { + padding-left: 400px; } + +.ag-rtl .ag-row-group-indent-40 { + padding-right: 400px; } + +.ag-ltr .ag-toolpanel-indent-41 { + padding-left: 410px; } + +.ag-rtl .ag-toolpanel-indent-41 { + padding-right: 410px; } + +.ag-ltr .ag-row-group-indent-41 { + padding-left: 410px; } + +.ag-rtl .ag-row-group-indent-41 { + padding-right: 410px; } + +.ag-ltr .ag-toolpanel-indent-42 { + padding-left: 420px; } + +.ag-rtl .ag-toolpanel-indent-42 { + padding-right: 420px; } + +.ag-ltr .ag-row-group-indent-42 { + padding-left: 420px; } + +.ag-rtl .ag-row-group-indent-42 { + padding-right: 420px; } + +.ag-ltr .ag-toolpanel-indent-43 { + padding-left: 430px; } + +.ag-rtl .ag-toolpanel-indent-43 { + padding-right: 430px; } + +.ag-ltr .ag-row-group-indent-43 { + padding-left: 430px; } + +.ag-rtl .ag-row-group-indent-43 { + padding-right: 430px; } + +.ag-ltr .ag-toolpanel-indent-44 { + padding-left: 440px; } + +.ag-rtl .ag-toolpanel-indent-44 { + padding-right: 440px; } + +.ag-ltr .ag-row-group-indent-44 { + padding-left: 440px; } + +.ag-rtl .ag-row-group-indent-44 { + padding-right: 440px; } + +.ag-ltr .ag-toolpanel-indent-45 { + padding-left: 450px; } + +.ag-rtl .ag-toolpanel-indent-45 { + padding-right: 450px; } + +.ag-ltr .ag-row-group-indent-45 { + padding-left: 450px; } + +.ag-rtl .ag-row-group-indent-45 { + padding-right: 450px; } + +.ag-ltr .ag-toolpanel-indent-46 { + padding-left: 460px; } + +.ag-rtl .ag-toolpanel-indent-46 { + padding-right: 460px; } + +.ag-ltr .ag-row-group-indent-46 { + padding-left: 460px; } + +.ag-rtl .ag-row-group-indent-46 { + padding-right: 460px; } + +.ag-ltr .ag-toolpanel-indent-47 { + padding-left: 470px; } + +.ag-rtl .ag-toolpanel-indent-47 { + padding-right: 470px; } + +.ag-ltr .ag-row-group-indent-47 { + padding-left: 470px; } + +.ag-rtl .ag-row-group-indent-47 { + padding-right: 470px; } + +.ag-ltr .ag-toolpanel-indent-48 { + padding-left: 480px; } + +.ag-rtl .ag-toolpanel-indent-48 { + padding-right: 480px; } + +.ag-ltr .ag-row-group-indent-48 { + padding-left: 480px; } + +.ag-rtl .ag-row-group-indent-48 { + padding-right: 480px; } + +.ag-ltr .ag-toolpanel-indent-49 { + padding-left: 490px; } + +.ag-rtl .ag-toolpanel-indent-49 { + padding-right: 490px; } + +.ag-ltr .ag-row-group-indent-49 { + padding-left: 490px; } + +.ag-rtl .ag-row-group-indent-49 { + padding-right: 490px; } + +.ag-tool-panel { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + height: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + .ag-tool-panel .ag-side-buttons { + width: 20px; } + .ag-tool-panel .ag-side-buttons button { + display: block; + -webkit-transform: rotate(90deg) translateY(-20px); + transform: rotate(90deg) translateY(-20px); + -webkit-transform-origin: left top 0; + transform-origin: left top 0; + white-space: nowrap; + outline: none; } + .ag-tool-panel .panel-container { + width: 180px; } + .ag-tool-panel.full-width .panel-container { + width: 200px; } + +.ag-rtl .ag-tool-panel .ag-side-buttons button { + -webkit-transform: rotate(-90deg) translatex(20px); + transform: rotate(-90deg) translatex(20px); + -webkit-transform-origin: right bottom 0; + transform-origin: right bottom 0; } + +.ag-row-focus { + z-index: 1; } diff --git a/lms/static/css/vendor/ag-theme-fresh.css b/lms/static/css/vendor/ag-theme-fresh.css new file mode 100644 index 000000000000..7d31995854ca --- /dev/null +++ b/lms/static/css/vendor/ag-theme-fresh.css @@ -0,0 +1,1758 @@ +.ag-theme-fresh { + background-color: white; + color: black; + font: 400 14px "Helvetica Neue", sans-serif; } + .ag-theme-fresh .ag-body { + background-color: #f6f6f6; } + .ag-theme-fresh .ag-cell { + box-sizing: border-box; } + .ag-theme-fresh .ag-menu, .ag-theme-fresh .ag-theme-fresh.ag-dnd-ghost, .ag-theme-fresh .ag-cell-inline-editing, .ag-theme-fresh .ag-popup-editor, .ag-theme-fresh .ag-select-agg-func-popup, .ag-theme-fresh .ag-overlay-loading-center { + background-color: #f6f6f6; + border: 1px solid darkgrey; } + .ag-theme-fresh .ag-tab-header .ag-tab { + border: 1px solid transparent; + border-bottom-width: 0; + display: inline-block; + margin: 4px; + margin-bottom: 0; + padding: 4px 8px; } + .ag-theme-fresh .ag-tab-header .ag-tab.ag-tab-selected { + background-color: #f6f6f6; + border-bottom: 2px solid #f6f6f6 !important; + border-color: darkgrey; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-1 { + padding-left: 16px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-1 { + padding-right: 16px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-1 { + padding-left: 24px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-1 { + padding-right: 24px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-2 { + padding-left: 32px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-2 { + padding-right: 32px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-2 { + padding-left: 48px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-2 { + padding-right: 48px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-3 { + padding-left: 48px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-3 { + padding-right: 48px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-3 { + padding-left: 72px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-3 { + padding-right: 72px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-4 { + padding-left: 64px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-4 { + padding-right: 64px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-4 { + padding-left: 96px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-4 { + padding-right: 96px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-5 { + padding-left: 80px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-5 { + padding-right: 80px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-5 { + padding-left: 120px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-5 { + padding-right: 120px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-6 { + padding-left: 96px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-6 { + padding-right: 96px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-6 { + padding-left: 144px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-6 { + padding-right: 144px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-7 { + padding-left: 112px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-7 { + padding-right: 112px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-7 { + padding-left: 168px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-7 { + padding-right: 168px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-8 { + padding-left: 128px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-8 { + padding-right: 128px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-8 { + padding-left: 192px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-8 { + padding-right: 192px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-9 { + padding-left: 144px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-9 { + padding-right: 144px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-9 { + padding-left: 216px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-9 { + padding-right: 216px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-10 { + padding-left: 160px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-10 { + padding-right: 160px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-10 { + padding-left: 240px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-10 { + padding-right: 240px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-11 { + padding-left: 176px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-11 { + padding-right: 176px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-11 { + padding-left: 264px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-11 { + padding-right: 264px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-12 { + padding-left: 192px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-12 { + padding-right: 192px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-12 { + padding-left: 288px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-12 { + padding-right: 288px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-13 { + padding-left: 208px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-13 { + padding-right: 208px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-13 { + padding-left: 312px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-13 { + padding-right: 312px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-14 { + padding-left: 224px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-14 { + padding-right: 224px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-14 { + padding-left: 336px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-14 { + padding-right: 336px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-15 { + padding-left: 240px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-15 { + padding-right: 240px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-15 { + padding-left: 360px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-15 { + padding-right: 360px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-16 { + padding-left: 256px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-16 { + padding-right: 256px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-16 { + padding-left: 384px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-16 { + padding-right: 384px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-17 { + padding-left: 272px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-17 { + padding-right: 272px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-17 { + padding-left: 408px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-17 { + padding-right: 408px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-18 { + padding-left: 288px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-18 { + padding-right: 288px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-18 { + padding-left: 432px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-18 { + padding-right: 432px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-19 { + padding-left: 304px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-19 { + padding-right: 304px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-19 { + padding-left: 456px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-19 { + padding-right: 456px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-20 { + padding-left: 320px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-20 { + padding-right: 320px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-20 { + padding-left: 480px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-20 { + padding-right: 480px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-21 { + padding-left: 336px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-21 { + padding-right: 336px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-21 { + padding-left: 504px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-21 { + padding-right: 504px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-22 { + padding-left: 352px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-22 { + padding-right: 352px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-22 { + padding-left: 528px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-22 { + padding-right: 528px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-23 { + padding-left: 368px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-23 { + padding-right: 368px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-23 { + padding-left: 552px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-23 { + padding-right: 552px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-24 { + padding-left: 384px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-24 { + padding-right: 384px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-24 { + padding-left: 576px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-24 { + padding-right: 576px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-25 { + padding-left: 400px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-25 { + padding-right: 400px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-25 { + padding-left: 600px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-25 { + padding-right: 600px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-26 { + padding-left: 416px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-26 { + padding-right: 416px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-26 { + padding-left: 624px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-26 { + padding-right: 624px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-27 { + padding-left: 432px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-27 { + padding-right: 432px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-27 { + padding-left: 648px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-27 { + padding-right: 648px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-28 { + padding-left: 448px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-28 { + padding-right: 448px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-28 { + padding-left: 672px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-28 { + padding-right: 672px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-29 { + padding-left: 464px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-29 { + padding-right: 464px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-29 { + padding-left: 696px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-29 { + padding-right: 696px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-30 { + padding-left: 480px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-30 { + padding-right: 480px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-30 { + padding-left: 720px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-30 { + padding-right: 720px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-31 { + padding-left: 496px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-31 { + padding-right: 496px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-31 { + padding-left: 744px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-31 { + padding-right: 744px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-32 { + padding-left: 512px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-32 { + padding-right: 512px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-32 { + padding-left: 768px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-32 { + padding-right: 768px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-33 { + padding-left: 528px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-33 { + padding-right: 528px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-33 { + padding-left: 792px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-33 { + padding-right: 792px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-34 { + padding-left: 544px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-34 { + padding-right: 544px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-34 { + padding-left: 816px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-34 { + padding-right: 816px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-35 { + padding-left: 560px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-35 { + padding-right: 560px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-35 { + padding-left: 840px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-35 { + padding-right: 840px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-36 { + padding-left: 576px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-36 { + padding-right: 576px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-36 { + padding-left: 864px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-36 { + padding-right: 864px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-37 { + padding-left: 592px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-37 { + padding-right: 592px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-37 { + padding-left: 888px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-37 { + padding-right: 888px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-38 { + padding-left: 608px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-38 { + padding-right: 608px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-38 { + padding-left: 912px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-38 { + padding-right: 912px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-39 { + padding-left: 624px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-39 { + padding-right: 624px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-39 { + padding-left: 936px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-39 { + padding-right: 936px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-40 { + padding-left: 640px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-40 { + padding-right: 640px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-40 { + padding-left: 960px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-40 { + padding-right: 960px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-41 { + padding-left: 656px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-41 { + padding-right: 656px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-41 { + padding-left: 984px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-41 { + padding-right: 984px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-42 { + padding-left: 672px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-42 { + padding-right: 672px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-42 { + padding-left: 1008px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-42 { + padding-right: 1008px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-43 { + padding-left: 688px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-43 { + padding-right: 688px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-43 { + padding-left: 1032px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-43 { + padding-right: 1032px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-44 { + padding-left: 704px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-44 { + padding-right: 704px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-44 { + padding-left: 1056px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-44 { + padding-right: 1056px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-45 { + padding-left: 720px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-45 { + padding-right: 720px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-45 { + padding-left: 1080px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-45 { + padding-right: 1080px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-46 { + padding-left: 736px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-46 { + padding-right: 736px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-46 { + padding-left: 1104px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-46 { + padding-right: 1104px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-47 { + padding-left: 752px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-47 { + padding-right: 752px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-47 { + padding-left: 1128px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-47 { + padding-right: 1128px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-48 { + padding-left: 768px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-48 { + padding-right: 768px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-48 { + padding-left: 1152px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-48 { + padding-right: 1152px; } + .ag-theme-fresh .ag-ltr .ag-toolpanel-indent-49 { + padding-left: 784px; } + .ag-theme-fresh .ag-rtl .ag-toolpanel-indent-49 { + padding-right: 784px; } + .ag-theme-fresh .ag-ltr .ag-row-group-indent-49 { + padding-left: 1176px; } + .ag-theme-fresh .ag-rtl .ag-row-group-indent-49 { + padding-right: 1176px; } + .ag-theme-fresh .ag-ltr .ag-row-group-leaf-indent { + margin-left: 24px; } + .ag-theme-fresh .ag-rtl .ag-row-group-leaf-indent { + margin-right: 24px; } + .ag-theme-fresh .ag-rtl .ag-cell-first-right-pinned { + border-left: 1px solid darkgrey; } + .ag-theme-fresh .ag-ltr .ag-cell-first-right-pinned { + border-left: 1px solid darkgrey; } + .ag-theme-fresh .ag-rtl .ag-cell-last-left-pinned { + border-right: 1px solid darkgrey; } + .ag-theme-fresh .ag-ltr .ag-cell-last-left-pinned { + border-right: 1px solid darkgrey; } + .ag-theme-fresh .ag-value-change-delta { + padding-right: 2px; } + .ag-theme-fresh .ag-value-change-delta-up { + color: darkgreen; } + .ag-theme-fresh .ag-value-change-delta-down { + color: darkred; } + .ag-theme-fresh .ag-value-change-value { + background-color: transparent; + border-radius: 1px; + padding-left: 1px; + padding-right: 1px; + transition: background-color 1s; } + .ag-theme-fresh .ag-value-change-value-highlight { + background-color: #cec; + transition: background-color 0.1s; } + .ag-theme-fresh .ag-header { + background-color: transparent; + color: #333333; + font: 400 14px "Helvetica Neue", sans-serif; } + .ag-theme-fresh .ag-header-row { + border-bottom: 1px solid darkgrey; + box-sizing: border-box; } + .ag-theme-fresh .ag-row { + border-bottom: 1px solid darkgrey; + box-sizing: border-box; } + .ag-theme-fresh .ag-row-odd { + background-color: #f6f6f6; } + .ag-theme-fresh .ag-row-even { + background-color: white; } + .ag-theme-fresh .ag-row-hover { + background-color: ""; } + .ag-theme-fresh .ag-numeric-cell { + text-align: right; } + .ag-theme-fresh .ag-header-cell-label { + display: flex; + float: left; + height: 100%; + width: calc(100% - 12px); } + .ag-theme-fresh .ag-header-cell-label span { + height: 100%; } + .ag-theme-fresh .ag-header-cell-label > span { + float: left; } + .ag-theme-fresh .ag-header-cell-label .ag-header-icon { + background-position-y: 10px; + background-size: 14px 14px; + height: 100%; + margin: 0; + margin-left: 4px; + opacity: 1; } + .ag-theme-fresh .ag-header-cell-label .ag-header-cell-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .ag-theme-fresh .ag-numeric-header .ag-header-cell-label { + flex-direction: row-reverse; + float: right; } + .ag-theme-fresh .ag-numeric-header .ag-header-cell-label > span { + float: right; } + .ag-theme-fresh .ag-numeric-header .ag-header-cell-menu-button { + float: left; } + .ag-theme-fresh .ag-header-group-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .ag-theme-fresh .ag-header-cell, + .ag-theme-fresh .ag-header-group-cell { + line-height: 25px; + padding-left: 12px; + padding-right: 12px; } + .ag-theme-fresh .ag-cell { + line-height: 23px; + padding-left: 12px; + padding-right: 12px; + border: 1px solid transparent; + padding-left: 11px; + padding-right: 11px; } + .ag-theme-fresh .ag-row-drag { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yIDFoMnYySDJ6bTMgMGgydjJINXptMyAwaDJ2Mkg4eiIvPjxwYXRoIGQ9Ik04IDFoMnYySDh6TTIgNGgydjJIMnptMyAwaDJ2Mkg1em0zIDBoMnYySDh6TTIgN2gydjJIMnptMyAwaDJ2Mkg1em0zIDBoMnYySDh6bS02IDNoMnYySDJ6bTMgMGgydjJINXptMyAwaDJ2Mkg4eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + background-position-x: left; + background-position-y: 4px; + float: left; + height: 100%; + width: 24px; } + .ag-theme-fresh .ag-column-drag { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yIDFoMnYySDJ6bTMgMGgydjJINXptMyAwaDJ2Mkg4eiIvPjxwYXRoIGQ9Ik04IDFoMnYySDh6TTIgNGgydjJIMnptMyAwaDJ2Mkg1em0zIDBoMnYySDh6TTIgN2gydjJIMnptMyAwaDJ2Mkg1em0zIDBoMnYySDh6bS02IDNoMnYySDJ6bTMgMGgydjJINXptMyAwaDJ2Mkg4eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + background-position-x: left; + background-position-y: 4px !important; + height: 100%; + min-width: 16px; } + .ag-theme-fresh .ag-row-dragging { + opacity: 0.5; + z-index: 10000; } + .ag-theme-fresh .ag-cell-focus { + border: 1px solid black; + outline: initial; } + .ag-theme-fresh .ag-header-cell-resize { + position: absolute; + right: -4px; + width: 8px; + z-index: 4; } + .ag-theme-fresh .ag-header-cell-resize::after { + border-right: 1px solid darkgrey; + box-sizing: content-box; + content: "resize"; + display: block; + height: 9px; + margin-top: 8px; + overflow: hidden; + text-indent: 4px; + width: 4px; } + .ag-theme-fresh .ag-icon-aggregation { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOS41IDIuNWgtNmwyIDMuNS0yIDMuNWg2IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzMzMyIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-arrows { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMzMzIj48cGF0aCBkPSJNMTYgNmwtMS40MSAxLjQxTDE2LjE3IDlINHYyaDEyLjE3bC0xLjU4IDEuNTlMMTYgMTRsNC00eiIvPjxwYXRoIGQ9Ik00IDZsMS40MSAxLjQxTDMuODMgOUgxNnYySDMuODNsMS41OCAxLjU5TDQgMTRsLTQtNHoiLz48cGF0aCBkPSJNNiAxNmwxLjQxLTEuNDFMOSAxNi4xN1Y0aDJ2MTIuMTdsMS41OS0xLjU4TDE0IDE2bC00IDR6Ii8+PHBhdGggZD0iTTE0IDRsLTEuNDEgMS40MUwxMSAzLjgzVjE2SDlWMy44M0w3LjQxIDUuNDEgNiA0bDQtNHoiLz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-asc { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDJoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDYuMVY0LjM5M2gtNnY2SDQuN1Y2LjFoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMi41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuOTkzIDcuMzkzKSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTguNDkzIDUuNnYtLjcwN2gtNXY1SDQuMlY1LjZoNC4yOTN6Ii8+PC9nPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-checked-readonly { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik05IDNMNiA4LjVsLTIuNS0yIi8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-checked { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik05IDNMNiA4LjVsLTIuNS0yIi8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-indeterminate-readonly { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNNCA1aDR2Mkg0eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-indeterminate { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNNCA1aDR2Mkg0eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-unchecked-readonly { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-checkbox-unchecked { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMzMzIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-column { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDR2Mkgxem0wIDNoNHY3SDF6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-columns { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDR2Mkgxem02IDBoNHYySDd6TTEgNWg0djJIMXptNiAwaDR2Mkg3ek0xIDloNHYySDF6bTYgMGg0djJIN3oiIGZpbGw9IiMzMzMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-contracted { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMzMzIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-copy { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTQuNSA0LjVoNXY1aC01eiIvPjxwYXRoIGQ9Ik03LjUgMi41aC01djVoMnYyaDV2LTVoLTJ2LTJ6Ii8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-cut { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTMgMy4xMmMuNjY3LjA3OCAzIDEuNzQ1IDcgNS0uMzI2LjIwNC0uNjU5LjIwNC0xIDAtLjM0MS0uMjA2LTEuNjc0LTEuMjA2LTQtMyAwIC42NjYtLjY2Ny42NjYtMiAwLTItMS0xLTIuMTIgMC0yeiIvPjxwYXRoIGQ9Ik0zIDguMjY0Yy42NjctLjA4IDMtMS43NDYgNy01LS4zMjYtLjIwNS0uNjU5LS4yMDUtMSAwLS4zNDEuMjA0LTEuNjc0IDEuMjA0LTQgMyAwLS42NjctLjY2Ny0uNjY3LTIgMC0yIDEtMSAyLjExOSAwIDJ6Ii8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-desc { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDUuMlYzLjQ5M2gtNnY2SDQuN1Y1LjJoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMy41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg0NSA1Ljk5MyA2LjQ5MykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2IiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik04LjQ5MyA0Ljd2LS43MDdoLTV2NUg0LjJWNC43aDQuMjkzeiIvPjwvZz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-expanded { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMzMzIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMzMzMiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-eye-slash { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjAwMSAzLjkwOEwzIDRhMyAzIDAgMSAwIDUuOTk5LS4wOTJBNS4yNDggNS4yNDggMCAwIDAgNiAzYy0xLjEgMC0yLjEuMzAzLTIuOTk5LjkwOHoiIGZpbGw9IiMzMzMiLz48cGF0aCBkPSJNNCA0LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMiAzLTMgNS0zczMuNjY3IDEgNSAzQzkuNjY3IDggOCA5IDYgOVMyLjMzMyA4IDEgNnoiIHN0cm9rZT0iIzMzMyIvPjxwYXRoIGQ9Ik00LjAwNCAyLjgzNWw0Ljk5MiA2LjMzIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz48cGF0aCBkPSJNMy4wMDQgMi44MzVsNC45OTIgNi4zMyIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-eye { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjAwMSAzLjkwOEwzIDRhMyAzIDAgMSAwIDUuOTk5LS4wOTJBNS4yNDggNS4yNDggMCAwIDAgNiAzYy0xLjEgMC0yLjEuMzAzLTIuOTk5LjkwOHoiIGZpbGw9IiMzMzMiLz48cGF0aCBkPSJNNCA0LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMiAzLTMgNS0zczMuNjY3IDEgNSAzQzkuNjY3IDggOCA5IDYgOVMyLjMzMyA4IDEgNnoiIHN0cm9rZT0iIzMzMyIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-filter { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAyaDEwTDcgNnY1TDUgOVY2TDEgMnptNCA0djFoMlY2SDV6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-group { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTcuNSAxLjVoM3YyaC0zem0wIDRoM3YyaC0zem0wIDRoM3YyaC0zeiIvPjxwYXRoIGZpbGw9IiMzMzMiIGQ9Ik0yIDNoMXY4SDJ6bTEgM2g0djFIM3ptMi00aDN2MUg1eiIvPjxwYXRoIGZpbGw9IiMzMzMiIGQ9Ik0yIDEwaDV2MUgyeiIvPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTEuNSAxLjVoM3YyaC0zeiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-indeterminate { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0zLjA1NiA0LjU4MWEzLjAwMSAzLjAwMSAwIDAgMCA1Ljg4OCAwQzguMDU5IDQuMTk0IDcuMDc4IDQgNiA0Yy0xLjA3OCAwLTIuMDYuMTk0LTIuOTQ0LjU4MXoiIGZpbGw9IiMzMzMiLz48cGF0aCBkPSJNNCA1LjVjLjY2Ny0uMzMzIDEuNjY3LS41IDMtLjUiIHN0cm9rZT0iIzk3OTc5NyIvPjxwYXRoIGQ9Ik0xIDZjMS4zMzMtMS4zMzMgMy0yIDUtMnMzLjY2Ny42NjcgNSAyQzkuNjY3IDcuMzMzIDggOCA2IDhzLTMuNjY3LS42NjctNS0yeiIgc3Ryb2tlPSIjMzMzIi8+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-left { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNNy45OTMgNC43VjIuOTkzaC02djZIMy43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNi41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNiAyaDF2OEg2eiIvPjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgNC45OTMgNS45OTMpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNy40OTMgNC4ydi0uNzA3aC01djVIMy4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-loading { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDFoMnYzSDV6Ii8+PHBhdGggaWQ9ImIiIGQ9Ik01IDhoMnYzSDV6Ii8+PHBhdGggaWQ9ImMiIGQ9Ik0xIDVoM3YySDF6Ii8+PHBhdGggaWQ9ImQiIGQ9Ik04IDVoM3YySDh6Ii8+PHBhdGggaWQ9ImUiIGQ9Ik00IDBoMnYzSDR6Ii8+PHBhdGggaWQ9ImYiIGQ9Ik00IDdoMnYzSDR6Ii8+PHBhdGggaWQ9ImciIGQ9Ik0wIDRoM3YySDB6Ii8+PHBhdGggaWQ9ImgiIGQ9Ik03IDRoM3YySDd6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYSIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTUuNSAxLjVoMXYyaC0xeiIvPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2IiLz48cGF0aCBzdHJva2U9IiM5Nzk3OTciIGQ9Ik01LjUgOC41aDF2MmgtMXoiLz48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNjIi8+PHBhdGggc3Ryb2tlPSIjOTc5Nzk3IiBkPSJNMS41IDUuNWgydjFoLTJ6Ii8+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZCIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTguNSA1LjVoMnYxaC0yeiIvPjxnIG9wYWNpdHk9Ii43MTQiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZSIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTQuNS41aDF2MmgtMXoiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUgNC4yOTMgNi43MDcpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNmIi8+PHBhdGggc3Ryb2tlPSIjOTc5Nzk3IiBkPSJNNC41IDcuNWgxdjJoLTF6Ii8+PC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjZyIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTS41IDQuNWgydjFoLTJ6Ii8+PC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuMjkzIDYuNzA3KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjaCIvPjxwYXRoIHN0cm9rZT0iIzk3OTc5NyIgZD0iTTcuNSA0LjVoMnYxaC0yeiIvPjwvZz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-menu { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDEwdjJIMXptMCA0aDEwdjJIMXptMCA0aDEwdjJIMXoiIGZpbGw9IiMzMzMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-minus { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDh2MkgyeiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-none { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY2SDV6Ii8+PHBhdGggZD0iTTguMTQ2IDguMTgyVjYuNDc1aC01djVoMS43MDhWOC4xODJoMy4yOTJ6IiBpZD0iYiIvPjxwYXRoIGQ9Ik04LjUgMi45MTRWMS4yMDdoLTV2NWgxLjcwN1YyLjkxNEg4LjV6IiBpZD0iYyIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMy41aDF2NWgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuNjQ2IDguNDc1KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTcuNjQ2IDcuNjgydi0uNzA3aC00djRoLjcwOFY3LjY4MmgzLjI5MnoiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUgNiAzLjcwNykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2MiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik04IDIuNDE0di0uNzA3SDR2NGguNzA3VjIuNDE0SDh6Ii8+PC9nPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-not-allowed { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjQiLz48cGF0aCBkPSJNOC41IDMuNUwzLjQwMSA4LjU5OSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-paste { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTIuNSAyLjVoN3Y3aC03eiIvPjxwYXRoIGQ9Ik02LjUgMS41aC0xdjJoLTF2MWgzdi0xaC0xdi0yeiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-pin { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiMzMzMiIGQ9Ik0zIDJoNnYxSDh2NGwyIDFIN2wtMSAzLTEtM0gybDItMVYzSDN6Ii8+PHBhdGggZD0iTTUgM2gxdjRINXpNNCAzaDF2M0g0eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-pivot { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2U9IiMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI5IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHBhdGggZD0iTTEwLjUgMy41aC05bTItMnY5IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+PHBhdGggZD0iTTcuNSA2LjVsMS0xIDEgMW0tMyAxbC0xIDEgMSAxIi8+PHBhdGggZD0iTTguNSA1LjV2M2gtMyIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-plus { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik01IDJoMnY4SDV6Ii8+PHBhdGggZD0iTTIgNWg4djJIMnoiLz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-right { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik00LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNOS45OTMgNC43VjIuOTkzaC02djZINS43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNSAyaDF2OEg1eiIvPjwvZz48ZyB0cmFuc2Zvcm09InNjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgMCAyMi44NzQpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNOS40OTMgNC4ydi0uNzA3aC01djVINS4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-small-left { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMyA2bDQtNHY4eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-small-right { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNSAybDQgNC00IDR6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-small-up { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA3bDQtNCA0IDR6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-small-down { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-tick { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDUuNWwzIDMgNi02IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzMzMyIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-cross { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxMGw4LThtMCA4TDIgMiIgc3Ryb2tlPSIjMzMzIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-tree-open { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-tree-closed { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNSAybDQgNC00IDR6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-icon-tree-indeterminate { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDh2MkgyeiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + display: inline-block; } + .ag-theme-fresh .ag-header-cell-menu-button .ag-icon-menu { + display: block; + height: 25px; } + .ag-theme-fresh .ag-icon-checkbox-checked:empty { + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHJlY3QgaWQ9ImEiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PHJlY3Qgc3Ryb2tlPSIjMDAwIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjEiLz48cGF0aCBzdHJva2U9IiMwMDAiIGQ9Ik05IDNMNiA4LjVsLTIuNS0yIi8+PC9nPjwvc3ZnPg==); } + .ag-theme-fresh .ag-menu { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; + padding: 0; + z-index: 5; } + .ag-theme-fresh .ag-menu .ag-menu-list { + cursor: default; + margin-bottom: 4px; + margin-top: 4px; + width: 100%; } + .ag-theme-fresh .ag-menu .ag-menu-option { + line-height: 16px; + padding-left: 8px; + padding-right: 8px; } + .ag-theme-fresh .ag-menu .ag-menu-option > span { + display: table-cell; + vertical-align: middle; } + .ag-theme-fresh .ag-menu .ag-menu-option-active { + background: ""; } + .ag-theme-fresh .ag-menu .ag-menu-option-disabled { + opacity: 0.5; } + .ag-theme-fresh .ag-menu .ag-menu-option-icon { + padding-left: 4px; + padding-right: 4px; } + .ag-theme-fresh .ag-menu .ag-menu-option-icon span { + height: 12px; + line-height: 0; + margin-top: 4px; } + .ag-theme-fresh .ag-menu .ag-menu-option-shortcut { + padding-left: 8px; } + .ag-theme-fresh .ag-menu .ag-menu-separator { + margin-left: -4px; } + .ag-theme-fresh .ag-menu .ag-menu-separator > span { + background-image: url("data:image/svg+xml;utf8, "); + height: 8px; } + .ag-theme-fresh .ag-menu .ag-menu-option-popup-pointer { + width: 20px; } + .ag-theme-fresh.ag-dnd-ghost { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; + border: 1px solid darkgrey; + color: #333333; + font: 400 14px "Helvetica Neue", sans-serif; + height: 25px !important; + line-height: 25px; + margin: 0; + padding: 0 8px; + transform: translateY(8px); + z-index: 5; } + .ag-theme-fresh.ag-dnd-ghost span, + .ag-theme-fresh.ag-dnd-ghost div { + float: left; + height: 100%; + margin: 0; + padding: 0; } + .ag-theme-fresh.ag-dnd-ghost .ag-dnd-ghost-icon { + margin-right: 4px; + opacity: 1; } + .ag-theme-fresh .ag-tab-header { + background: #f6f6f6; + min-width: 220px; + width: 100%; } + .ag-theme-fresh .ag-tab-header .ag-tab { + border-bottom: 2px solid transparent; + height: 16px; + text-align: center; + vertical-align: middle; } + .ag-theme-fresh .ag-tab-header .ag-tab.ag-tab-selected .ag-icon-filter { + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAyaDEwTDcgNnY1TDUgOVY2TDEgMnptNCA0djFoMlY2SDV6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + display: inline-block; } + .ag-theme-fresh .ag-tab-header .ag-tab.ag-tab-selected .ag-icon-columns { + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDR2Mkgxem02IDBoNHYySDd6TTEgNWg0djJIMXptNiAwaDR2Mkg3ek0xIDloNHYySDF6bTYgMGg0djJIN3oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==); + display: inline-block; } + .ag-theme-fresh .ag-tab-header .ag-tab.ag-tab-selected .ag-icon-menu { + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxaDEwdjJIMXptMCA0aDEwdjJIMXptMCA0aDEwdjJIMXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==); + display: inline-block; } + .ag-theme-fresh .ag-tab-body { + padding: 4px 0; } + .ag-theme-fresh .ag-tab-body .ag-filter-select { + margin: 4px; + width: calc(100% - 8px); } + .ag-theme-fresh .ag-tab-body .ag-menu-list { + margin-bottom: 0; + margin-top: 0; } + .ag-theme-fresh .ag-tab-body .ag-menu-list > div:first-child > span { + padding-top: 0; } + .ag-theme-fresh .ag-tab-body .ag-menu-list > div:last-child > span { + padding-bottom: 0; } + .ag-theme-fresh .ag-tab-body .ag-menu-list > div:last-child > .ag-menu-option-popup-pointer { + background-position-y: 0; } + .ag-theme-fresh .ag-filter-select { + margin: 4px; + width: calc(100% - 8px); } + .ag-theme-fresh .ag-filter input[type="text"], + .ag-theme-fresh .ag-filter input[type="date"] { + padding-left: 4px; } + .ag-theme-fresh .ag-filter label { + display: block; + padding-left: 4px; } + .ag-theme-fresh .ag-filter .ag-set-filter-list { + height: 130px; + padding-top: 4px; } + .ag-theme-fresh .ag-filter .ag-filter-header-container { + box-sizing: border-box; + height: 20px; } + .ag-theme-fresh .ag-filter .ag-filter-header-container:nth-child(2) { + border-bottom: 1px solid darkgrey; } + .ag-theme-fresh .ag-filter .ag-filter-checkbox { + float: left; + height: 20px; + margin-right: 4px; + padding-top: 2px; } + .ag-theme-fresh .ag-filter .ag-filter-value { + height: 20px; + line-height: 14px; } + .ag-theme-fresh .ag-filter .ag-filter-apply-panel { + display: flex; + justify-content: flex-end; + padding: 4px; + padding-top: 8px; } + .ag-theme-fresh .ag-filter .ag-filter-apply-panel button + button { + margin-left: 8px; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column { + height: 16px; + line-height: 16px; + margin-left: 0; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group span, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column span { + float: left; + height: 100%; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group .ag-column-select-indent, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column .ag-column-select-indent { + width: 8px; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group .ag-column-select-checkbox, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group .ag-column-group-icons, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column .ag-column-select-checkbox, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column .ag-column-group-icons { + margin-left: 4px; + margin-right: 4px; } + .ag-theme-fresh .ag-column-select-panel .ag-column-container { + padding-top: 4px; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column.ag-toolpanel-add-group-indent { + margin-left: 20px; } + .ag-theme-fresh .ag-column-tool-panel { + display: flex; } + .ag-theme-fresh .ag-filter-body { + flex-grow: 1; + flex-shrink: 1; + padding-right: 4px; } + .ag-theme-fresh .ag-column-tool-panel-item button { + font-family: "Helvetica Neue", sans-serif; + font-size: 14px; + height: 100%; } + .ag-theme-fresh .ag-filter-filter { + margin-bottom: 4px; } + .ag-theme-fresh .ag-column-select-header { + border-bottom: 1px solid darkgrey; + box-sizing: border-box; + height: 25px; + padding-top: 4px; } + .ag-theme-fresh .ag-column-select-header label { + display: block; + padding-left: 4px; } + .ag-theme-fresh .ag-column-select-header label .ag-filter-checkbox { + float: left; + margin-right: 4px; } + .ag-theme-fresh .ag-column-select-header .ag-column-tool-panel a { + margin: 0 4px; + padding-top: 2px; } + .ag-theme-fresh .ag-group-child-count::before { + content: " "; } + .ag-theme-fresh .ag-column-panel { + border-right: 0; } + .ag-theme-fresh .ag-column-panel .ag-pivot-mode { + border-bottom: 1px solid darkgrey; + box-sizing: border-box; + height: 25px; + line-height: 25px; } + .ag-theme-fresh .ag-column-panel .ag-pivot-mode span { + float: left; + height: 100%; } + .ag-theme-fresh .ag-column-panel .ag-pivot-mode .ag-pivot-mode-select { + margin-left: 4px; } + .ag-theme-fresh .ag-column-panel .ag-pivot-mode .ag-pivot-mode-select .ag-checkbox-label { + margin-left: 4px; } + .ag-theme-fresh .ag-column-panel .ag-column-select-panel { + border-bottom: 1px solid darkgrey; + padding-bottom: 3px; + padding-top: 0; } + .ag-theme-fresh .ag-column-panel .ag-column-drop { + border-bottom: 1px solid darkgrey; + clear: both; + overflow: auto; + padding: 4px 0; + padding-bottom: 8px; } + .ag-theme-fresh .ag-column-panel .ag-column-drop .ag-icon { + float: left; + height: 20px; + margin: 0 4px; } + .ag-theme-fresh .ag-column-panel .ag-column-drop .ag-column-drop-title { + clear: right; + float: left; + height: 20px; + line-height: 20px; + width: calc(100% - 20px); } + .ag-theme-fresh .ag-column-panel .ag-column-drop .ag-column-drop-empty-message { + clear: both; + color: rgba(0, 0, 0, 0.5); + font: 400 14px "Helvetica Neue", sans-serif; + line-height: 8px; + padding-left: 16px; + padding-right: 4px; } + .ag-theme-fresh .ag-column-panel .ag-column-drop:last-child { + border-bottom: 0; } + .ag-theme-fresh .ag-filter-icon:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAyaDEwTDcgNnY1TDUgOVY2TDEgMnptNCA0djFoMlY2SDV6IiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-sort-ascending-icon:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDJoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDYuMVY0LjM5M2gtNnY2SDQuN1Y2LjFoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMi41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuOTkzIDcuMzkzKSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTguNDkzIDUuNnYtLjcwN2gtNXY1SDQuMlY1LjZoNC4yOTN6Ii8+PC9nPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-sort-descending-icon:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY5SDV6Ii8+PHBhdGggZD0iTTguOTkzIDUuMlYzLjQ5M2gtNnY2SDQuN1Y1LjJoNC4yOTN6IiBpZD0iYiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMy41aDF2OGgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg0NSA1Ljk5MyA2LjQ5MykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2IiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik04LjQ5MyA0Ljd2LS43MDdoLTV2NUg0LjJWNC43aDQuMjkzeiIvPjwvZz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-sort-none-icon:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01IDNoMnY2SDV6Ii8+PHBhdGggZD0iTTguMTQ2IDguMTgyVjYuNDc1aC01djVoMS43MDhWOC4xODJoMy4yOTJ6IiBpZD0iYiIvPjxwYXRoIGQ9Ik04LjUgMi45MTRWMS4yMDdoLTV2NWgxLjcwN1YyLjkxNEg4LjV6IiBpZD0iYyIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik01LjUgMy41aDF2NWgtMXoiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTM1IDUuNjQ2IDguNDc1KSI+PHVzZSBmaWxsPSIjRDhEOEQ4IiB4bGluazpocmVmPSIjYiIvPjxwYXRoIHN0cm9rZT0iIzMzMyIgZD0iTTcuNjQ2IDcuNjgydi0uNzA3aC00djRoLjcwOFY3LjY4MmgzLjI5MnoiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUgNiAzLjcwNykiPjx1c2UgZmlsbD0iI0Q4RDhEOCIgeGxpbms6aHJlZj0iI2MiLz48cGF0aCBzdHJva2U9IiMzMzMiIGQ9Ik04IDIuNDE0di0uNzA3SDR2NGguNzA3VjIuNDE0SDh6Ii8+PC9nPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-numeric-header .ag-header-cell-label .ag-header-icon { + margin-left: 0; + margin-right: 4px; } + .ag-theme-fresh .ag-paging-panel { + align-items: center; + border-top: 1px solid darkgrey; + color: #333333; + display: flex; + height: 25px; + justify-content: flex-end; + padding: 0 12px; } + .ag-theme-fresh .ag-paging-panel > span { + margin-left: 16px; } + .ag-theme-fresh .ag-row-selected { + background-color: #bde2e5; } + .ag-theme-fresh .ag-cell-range-selected:not(.ag-cell-focus) { + background-color: rgba(120, 120, 120, 0.4); } + .ag-theme-fresh .ag-cell-inline-editing { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; + height: 37px; + line-height: normal; + padding: 12px; + z-index: 2; } + .ag-theme-fresh .ag-cell-inline-editing select { + height: auto; } + .ag-theme-fresh .ag-popup-editor { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; + padding: 0; + z-index: 1; } + .ag-theme-fresh .ag-popup-editor .ag-large-textarea textarea { + height: auto; + padding: 12px; } + .ag-theme-fresh .ag-rich-select { + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position-x: calc(100% - 4px); + background-position-y: 8px; + background-repeat: no-repeat; } + .ag-theme-fresh .ag-rich-select .ag-rich-select-list { + height: 162.5px; } + .ag-theme-fresh .ag-rich-select .ag-rich-select-value { + height: 25px; + line-height: 25px; + padding-left: 12px; } + .ag-theme-fresh .ag-rich-select .ag-virtual-list-item { + cursor: default; + height: 25px; + line-height: 25px; } + .ag-theme-fresh .ag-rich-select .ag-virtual-list-item:hover { + background-color: ""; } + .ag-theme-fresh .ag-rich-select .ag-rich-select-row { + padding-left: 12px; } + .ag-theme-fresh .ag-rich-select .ag-rich-select-row-selected { + background-color: #bde2e5; } + .ag-theme-fresh .ag-floating-filter-body { + float: left; + height: 100%; + margin-right: 0; + width: calc(100% - 20px); } + .ag-theme-fresh .ag-floating-filter-body input { + box-sizing: border-box; } + .ag-theme-fresh .ag-floating-filter-full-body input { + box-sizing: border-box; } + .ag-theme-fresh .ag-floating-filter-button { + float: right; + line-height: 12px; + margin-top: 10px; } + .ag-theme-fresh .ag-floating-filter-button button { + appearance: none; + background: transparent; + border: 0; + height: 12px; + padding: 0; + width: 12px; } + .ag-theme-fresh .ag-cell-label-container { + height: 100%; } + .ag-theme-fresh .ag-header-group-cell-label { + height: 100%; } + .ag-theme-fresh .ag-header-group-cell-label span { + float: left; + height: 100%; } + .ag-theme-fresh .ag-header-select-all { + height: 100%; + margin-right: 12px; } + .ag-theme-fresh .ag-header-select-all span { + height: 100%; } + .ag-theme-fresh .ag-header-select-all:not(.ag-hidden) + .ag-cell-label-container { + float: left; + width: calc(100% - 12px - 12px); } + .ag-theme-fresh .ag-selection-checkbox span, + .ag-theme-fresh .ag-group-expanded span, + .ag-theme-fresh .ag-group-contracted span { + margin-right: 12px; } + .ag-theme-fresh .ag-selection-checkbox span { + position: relative; + top: 2px; } + .ag-theme-fresh .ag-group-expanded .ag-icon-contracted:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiA1aDhMNiA5eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-column-drop-horizontal { + background-color: #f6f6f6; + height: 25px; + line-height: 16px; + padding-left: 12px; } + .ag-theme-fresh .ag-column-drop-horizontal.ag-width-half { + margin-bottom: -3px; } + .ag-theme-fresh .ag-column-drop-horizontal span { + float: left; + height: 100%; } + .ag-theme-fresh .ag-column-drop-horizontal > div:first-child { + float: left; + height: 100%; } + .ag-theme-fresh .ag-column-drop-horizontal .ag-icon-group, + .ag-theme-fresh .ag-column-drop-horizontal .ag-icon-pivot { + margin-right: 12px; } + .ag-theme-fresh .ag-column-drop-horizontal .ag-right-arrow { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik00LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNOS45OTMgNC43VjIuOTkzaC02djZINS43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNSAyaDF2OEg1eiIvPjwvZz48ZyB0cmFuc2Zvcm09InNjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgMCAyMi44NzQpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNOS40OTMgNC4ydi0uNzA3aC01djVINS4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-column-drop-horizontal .ag-left-arrow { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNNy45OTMgNC43VjIuOTkzaC02djZIMy43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNi41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNiAyaDF2OEg2eiIvPjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgNC45OTMgNS45OTMpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNy40OTMgNC4ydi0uNzA3aC01djVIMy4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-column-drop-horizontal .ag-left-arrow, + .ag-theme-fresh .ag-column-drop-horizontal .ag-right-arrow { + overflow: hidden; + text-indent: 100%; + height: 100%; + margin: 0 4px; + opacity: 1; } + .ag-theme-fresh .ag-column-drop-horizontal .ag-column-drop-empty-message { + height: 100%; + line-height: 25px; + opacity: 0.5; } + .ag-theme-fresh .ag-column-drop-cell { + background: #ecf0f1; + border-radius: 16px; + box-sizing: border-box; + height: 16px !important; + margin-top: 4px; + padding: 0 2px; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drop-cell-text { + height: 100%; + line-height: 16px; + margin: 0 4px; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drop-cell-button { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOSA4LjE1NEw4LjE1NCA5IDYgNi44NDYgMy44NDYgOSAzIDguMTU0IDUuMTU0IDYgMyAzLjg0NiAzLjg0NiAzIDYgNS4xNTQgOC4xNTQgMyA5IDMuODQ2IDYuODQ2IDZ6IiBmaWxsPSIjMzMzIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + overflow: hidden; + text-indent: 100%; + min-width: 16px; + height: 100%; + margin: 0 2px; + opacity: 1; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drop-cell-button:hover { + opacity: 1; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drag { + margin-left: 8px; + margin-top: 2px; + width: 12px; } + .ag-theme-fresh .ag-select-agg-func-popup { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; + background: white; + height: 70px; + padding: 0; } + .ag-theme-fresh .ag-select-agg-func-popup .ag-virtual-list-item { + cursor: default; + line-height: 20px; + padding-left: 8px; } + .ag-theme-fresh .ag-select-agg-func-popup .ag-virtual-list-item:hover { + background-color: #bde2e5; } + .ag-theme-fresh .ag-set-filter-list, + .ag-theme-fresh .ag-menu-column-select-wrapper { + width: auto; } + .ag-theme-fresh .ag-column-drop-vertical > .ag-column-drop-cell { + float: left; + margin-bottom: 4px; + margin-left: 4px; + margin-top: 0; } + .ag-theme-fresh .ag-cell-data-changed { + background-color: #cec !important; } + .ag-theme-fresh .ag-cell-data-changed-animation { + background-color: transparent; + transition: background-color 1s; } + .ag-theme-fresh .ag-row-stub { + background-color: #f0f0f0; } + .ag-theme-fresh .ag-stub-cell { + padding-left: 12px; + padding-top: 4px; } + .ag-theme-fresh .ag-stub-cell .ag-loading-icon { + float: left; + height: 100%; } + .ag-theme-fresh .ag-stub-cell .ag-loading-text { + float: left; + height: 100%; + margin-left: 4px; + margin-top: 4px; } + .ag-theme-fresh .ag-floating-top { + background-color: #f0f0f0; } + .ag-theme-fresh .ag-floating-top .ag-row { + background-color: #f0f0f0; } + .ag-theme-fresh .ag-floating-bottom { + background-color: #f0f0f0; } + .ag-theme-fresh .ag-rtl .ag-numeric-cell { + text-align: left; } + .ag-theme-fresh .ag-rtl .ag-header-cell-menu-button { + float: left; } + .ag-theme-fresh .ag-rtl .ag-header-cell-label { + float: right; + width: calc(100% - 12px); } + .ag-theme-fresh .ag-rtl .ag-header-cell-label > span { + float: right; } + .ag-theme-fresh .ag-rtl .ag-header-cell-label .ag-header-icon { + margin-top: 2px; } + .ag-theme-fresh .ag-rtl .ag-numeric-header .ag-header-cell-menu-button { + float: right; } + .ag-theme-fresh .ag-rtl .ag-numeric-header .ag-header-cell-label { + float: left; } + .ag-theme-fresh .ag-rtl .ag-numeric-header .ag-header-cell-label > span { + float: left; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-pivot-mode span { + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-pivot-mode .ag-pivot-mode-select { + margin-right: 4px; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-pivot-mode .ag-pivot-mode-select .ag-checkbox-label { + margin-right: 4px; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-column-drop .ag-icon { + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-column-drop .ag-column-drop-title { + clear: left; + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-panel .ag-column-drop .ag-column-drop-empty-message { + padding-left: 4px; + padding-right: 16px; } + .ag-theme-fresh .ag-rtl .ag-filter-checkbox { + float: right; + margin-left: 4px; } + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column-group span, + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column span { + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column-group .ag-column-select-checkbox, + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column-group .ag-column-group-icons, + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column .ag-column-select-checkbox, + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column .ag-column-group-icons { + margin-left: 4px; + margin-right: 4px; } + .ag-theme-fresh .ag-rtl .ag-column-select-panel .ag-column-select-column.ag-toolpanel-add-group-indent { + margin-left: 0; + margin-right: 20px; } + .ag-theme-fresh .ag-rtl .ag-icon-tree-closed { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMzMzIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-rtl .ag-header-group-cell-label { + height: 100%; } + .ag-theme-fresh .ag-rtl .ag-header-group-cell-label span { + float: right; + height: 100%; } + .ag-theme-fresh .ag-rtl .ag-header-select-all:not(.ag-hidden) + .ag-cell-label-container { + float: right; } + .ag-theme-fresh .ag-rtl .ag-header-select-all { + margin-left: 12px; + margin-right: 0; } + .ag-theme-fresh .ag-rtl .ag-selection-checkbox span, + .ag-theme-fresh .ag-rtl .ag-group-expanded span, + .ag-theme-fresh .ag-rtl .ag-group-contracted span { + margin-left: 12px; + margin-right: 0; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal { + padding-right: 12px; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal span { + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal > div:first-child { + float: right; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal .ag-icon-group, + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal .ag-icon-pivot { + margin-left: 12px; + margin-right: 0; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal .ag-right-arrow { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik00LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNOS45OTMgNC43VjIuOTkzaC02djZINS43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNSAyaDF2OEg1eiIvPjwvZz48ZyB0cmFuc2Zvcm09InNjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgMCAyMi44NzQpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNOS40OTMgNC4ydi0uNzA3aC01djVINS4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + height: 100%; } + .ag-theme-fresh .ag-rtl .ag-column-drop-horizontal .ag-left-arrow { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik01LjUgMS41aDJ2OWgtMnoiLz48cGF0aCBkPSJNNy45OTMgNC43VjIuOTkzaC02djZIMy43VjQuN2g0LjI5M3oiIGlkPSJiIi8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNi41IDYpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNhIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNiAyaDF2OEg2eiIvPjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgNC45OTMgNS45OTMpIj48dXNlIGZpbGw9IiNEOEQ4RDgiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjMzMzIiBkPSJNNy40OTMgNC4ydi0uNzA3aC01djVIMy4yVjQuMmg0LjI5M3oiLz48L2c+PC9nPjwvc3ZnPg==); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; + height: 100%; } + .ag-theme-fresh .ag-rtl .ag-floating-filter-body { + float: right; + margin-left: 0; } + .ag-theme-fresh .ag-rtl .ag-floating-filter-button { + float: left; } + .ag-theme-fresh .ag-rtl .ag-header .ag-header-cell-resize { + left: -4px; + right: auto; } + .ag-theme-fresh .ag-rtl .ag-header .ag-header-cell-resize::after { + border-left: 1px solid darkgrey; + border-right: 0; } + .ag-theme-fresh .ag-rtl .ag-column-select-header .ag-filter-body { + margin-left: 4px; + margin-right: 0; } + .ag-theme-fresh .ag-rtl .ag-column-drag { + background-position-x: right; } + .ag-theme-fresh .ag-status-bar { + background: white; + border: 1px solid darkgrey; + border-top: 0; + color: rgba(0, 0, 0, 0.5); + display: flex; + font: 400 14px "Helvetica Neue", sans-serif; + justify-content: flex-end; + padding: 8px 16px; } + .ag-theme-fresh .ag-status-bar .ag-status-bar-item { + margin-right: 8px; } + .ag-theme-fresh .ag-status-bar .ag-status-bar-item span:nth-child(1)::after { + content: ":"; } + .ag-theme-fresh .ag-status-bar .ag-status-bar-item span:nth-child(2) { + color: black; } + .ag-theme-fresh .ag-details-row { + box-sizing: border-box; + padding: 20px; } + .ag-theme-fresh .ag-overlay-loading-wrapper { + background-color: rgba(255, 255, 255, 0.5); } + .ag-theme-fresh .ag-overlay-loading-center { + background: #f6f6f6; + border-radius: 0; + box-shadow: none; + padding: 4px; } + .ag-theme-fresh .ag-tool-panel { + background-color: #f6f6f6; + border-right: 1px solid darkgrey; + border-top: 1px solid darkgrey; } + .ag-theme-fresh .ag-tool-panel .ag-side-buttons { + border-bottom: 1px solid darkgrey; } + .ag-theme-fresh .ag-tool-panel .ag-side-buttons button { + background: transparent; + border: 0; + border-right: 1px solid darkgrey; + color: black; + height: 20px; } + .ag-theme-fresh .ag-tool-panel .ag-panel-container { + border-right: 1px solid darkgrey; + box-sizing: border-box; } + .ag-theme-fresh .ag-tool-panel.full-width .ag-panel-container { + border-right: 0; } + .ag-theme-fresh .ag-tool-panel .ag-column-drop { + min-height: 50px; } + .ag-theme-fresh .ag-rtl .ag-tool-panel .ag-panel-container { + border-left: 1px solid darkgrey; + border-right: 0; } + .ag-theme-fresh .ag-rtl .ag-tool-panel.full-width .ag-panel-container { + border-left: 0; } + .ag-theme-fresh .ag-rtl .ag-tool-panel .ag-side-buttons button { + border-left: 1px solid darkgrey; + border-right: 0; } + .ag-theme-fresh .ag-column-name-filter { + box-sizing: border-box; + width: 100%; } + .ag-theme-fresh .sass-variables::after { + content: '{ "autoSizePadding": "12px", "headerHeight": "25px", "groupPaddingSize": "24px", "footerPaddingAddition": "16px", "virtualItemHeight": "20px", "aggFuncPopupHeight": "70px", "checkboxIndentWidth": "16px", "leafNodePadding": "12px", "rowHeight": "25px", "gridSize": "4px", "iconSize": "12px" }'; + display: none; } + .ag-theme-fresh .ag-tab-header { + background-color: #e6e6e6; } + .ag-theme-fresh .ag-faded { + opacity: 0.3; } + .ag-theme-fresh [ref="north"] .ag-column-drop { + border: 1px solid darkgrey; + border-bottom: 0; } + .ag-theme-fresh [ref="north"] .ag-column-drop:last-child { + border-left: 0; } + .ag-theme-fresh .ag-header { + background-image: linear-gradient(white, lightgrey); + border-bottom: 1px solid darkgrey; } + .ag-theme-fresh .ag-header-cell-resize::after { + height: 25px; + margin-top: 0; } + .ag-theme-fresh .ag-header-cell { + border-right: 1px solid darkgrey; + box-sizing: border-box; } + .ag-theme-fresh .ag-header-group-cell { + border-right: 1px solid darkgrey; } + .ag-theme-fresh .ag-header-group-cell-with-group { + border-bottom: 1px solid darkgrey; } + .ag-theme-fresh .ag-header-row { + border-bottom: 0; } + .ag-theme-fresh .ag-root { + border: 1px solid darkgrey; } + .ag-theme-fresh .ag-column-panel { + border-right: 1px solid darkgrey; } + .ag-theme-fresh .ag-cell-no-focus { + border-right: 1px dotted silver; } + .ag-theme-fresh .ag-row { + border-bottom-width: 0; } + .ag-theme-fresh .ag-column-panel .ag-column-drop .ag-column-drop-empty-message { + line-height: 25px; } + .ag-theme-fresh .ag-floating-filter-button { + margin-top: 8px; } + .ag-theme-fresh .ag-filter .ag-filter-apply-panel { + border-top: 1px solid darkgrey; + justify-content: flex-start; } + .ag-theme-fresh .ag-cell-focus { + border: 1px solid darkgrey; } + .ag-theme-fresh .ag-menu .ag-menu-option-active { + background: #bde2e5; } + .ag-theme-fresh .ag-menu .ag-menu-option { + line-height: 24px; } + .ag-theme-fresh .ag-column-drop-cell { + background: #ecf0f1; + background-image: linear-gradient(white, lightgrey); + border: 1px solid darkgrey; + border-radius: 0; + height: 18px !important; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drop-cell-button { + box-sizing: border-box; + height: calc(100% - 4px); + margin-bottom: 2px; + margin-top: 2px; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drop-cell-button:hover { + border: 1px solid darkgrey; } + .ag-theme-fresh .ag-cell-range-selected-1:not(.ag-cell-focus) { + background-color: rgba(120, 120, 120, 0.4); } + .ag-theme-fresh .ag-cell-range-selected-2:not(.ag-cell-focus) { + background-color: rgba(80, 80, 80, 0.4); } + .ag-theme-fresh .ag-cell-range-selected-3:not(.ag-cell-focus) { + background-color: rgba(40, 40, 40, 0.4); } + .ag-theme-fresh .ag-cell-range-selected-4:not(.ag-cell-focus) { + background-color: rgba(0, 0, 0, 0.4); } + .ag-theme-fresh .ag-cell-highlight { + background-color: rgba(120, 120, 120, 0.4); + border-bottom: 2px solid darkgreen; } + .ag-theme-fresh .ag-cell-highlight-animation { + transition: all 1s; } + .ag-theme-fresh .ag-group-expanded .ag-icon-contracted:empty { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMzMzIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMzMzIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-rtl .ag-icon-tree-closed { + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMyA2bDQtNHY4eiIgZmlsbD0iIzMzMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 12px 12px; + height: 12px; + opacity: 1; + width: 12px; } + .ag-theme-fresh .ag-cell-inline-editing { + height: 25px; + padding: 0; } + .ag-theme-fresh .ag-cell-inline-editing input { + box-sizing: border-box; } + .ag-theme-fresh .ag-column-panel .ag-column-drop .ag-column-drop-title { + float: none; } + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column-group, + .ag-theme-fresh .ag-column-select-panel .ag-column-select-column { + height: 20px; + line-height: 20px; } + .ag-theme-fresh .ag-filter .ag-filter-header-container { + height: 24px; } + .ag-theme-fresh .ag-tab { + box-sizing: initial; } + .ag-theme-fresh .ag-filter .ag-filter-value { + line-height: 16px; } + .ag-theme-fresh .ag-selection-checkbox span { + position: relative; + top: 0; } + .ag-theme-fresh .ag-rich-select-value { + border-bottom: 1px solid darkgrey; } + .ag-theme-fresh .ag-header-cell-moving .ag-header-cell-label { + opacity: 0.5; } + .ag-theme-fresh .ag-header-cell-moving { + background-color: #bebebe; } + .ag-theme-fresh .ag-ltr .ag-pinned-right-header { + border-left: 1px solid darkgrey; } + .ag-theme-fresh .ag-rtl .ag-pinned-left-header { + border-right: 1px solid darkgrey; } + .ag-theme-fresh .ag-overlay-loading-wrapper { + background-color: rgba(255, 255, 255, 0.5); } + .ag-theme-fresh .ag-overlay-loading-center { + background-color: #fff; + border: 1px solid darkgrey; + border-radius: 10px; + color: black; + padding: 10px; } + .ag-theme-fresh .ag-column-name-filter { + height: 16px; } + .ag-theme-fresh .ag-column-drop-cell .ag-column-drag { + background-position-y: 0 !important; } diff --git a/lms/static/js/csv_viewer/.eslintrc.js b/lms/static/js/csv_viewer/.eslintrc.js new file mode 100644 index 000000000000..12cb26eef91e --- /dev/null +++ b/lms/static/js/csv_viewer/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + extends: 'eslint-config-edx', + root: true, + settings: { + 'import/resolver': 'webpack', + }, +}; diff --git a/lms/static/js/csv_viewer/components/CSVViewer/CSVViewer.jsx b/lms/static/js/csv_viewer/components/CSVViewer/CSVViewer.jsx new file mode 100644 index 000000000000..9e968580f3e8 --- /dev/null +++ b/lms/static/js/csv_viewer/components/CSVViewer/CSVViewer.jsx @@ -0,0 +1,81 @@ +/* global gettext */ +import { Button } from '@edx/paragon/static'; +import { AgGridReact } from 'ag-grid-react'; +import * as PropTypes from 'prop-types'; +import * as React from 'react'; + +const CSVViewer = ({ + columnDefs, + csvUrl, + enableRtl, + error, + errorMessages, + loading, + loadingMessage, + rowData, + }) => { + if (error) { + return ( +
+ {errorMessages[error] || error} +
+ ); + } + if (loading) { + return ( +
+ {loadingMessage} +
+ ); + } + if (!csvUrl) { + return null; + } + return ( +
+
+
+
+ +
+
+ ); +}; + +CSVViewer.propTypes = { + columnDefs: PropTypes.arrayOf(PropTypes.shape({ + field: PropTypes.string.isRequired, + })), + csvUrl: PropTypes.string, + enableRtl: PropTypes.bool, + error: PropTypes.string, + errorMessages: PropTypes.objectOf(PropTypes.string), + loading: PropTypes.bool, + loadingMessage: PropTypes.string, + rowData: PropTypes.arrayOf(PropTypes.object), +}; + +CSVViewer.defaultProps = { + columnDefs: [], + enableRtl: false, + error: null, + errorMessages: null, + loading: false, + loadingMessage: null, + rowData: [], +}; + +export default CSVViewer; diff --git a/lms/static/js/csv_viewer/components/CSVViewer/CSVViewerContainer.jsx b/lms/static/js/csv_viewer/components/CSVViewer/CSVViewerContainer.jsx new file mode 100644 index 000000000000..db7f8a42df3b --- /dev/null +++ b/lms/static/js/csv_viewer/components/CSVViewer/CSVViewerContainer.jsx @@ -0,0 +1,15 @@ +import { connect } from 'react-redux'; + +import CSVViewer from './CSVViewer.jsx'; + +const mapStateToProps = state => ({ + rowData: state.csvData.rowData, + csvUrl: state.csvData.csvUrl, + columnDefs: state.csvData.columnDefs, + error: state.error, + loading: state.loading, +}); + +const CSVViewerContainer = connect(mapStateToProps)(CSVViewer); + +export default CSVViewerContainer; diff --git a/lms/static/js/csv_viewer/data/actions/constants.js b/lms/static/js/csv_viewer/data/actions/constants.js new file mode 100644 index 000000000000..66d719812ae0 --- /dev/null +++ b/lms/static/js/csv_viewer/data/actions/constants.js @@ -0,0 +1,7 @@ +export default { + fetch: { + START: 'FETCH_CSV_START', + SUCCESS: 'FETCH_CSV_SUCCESS', + FAILURE: 'FETCH_CSV_FAILURE', + }, +}; diff --git a/lms/static/js/csv_viewer/data/actions/csvFetcher.js b/lms/static/js/csv_viewer/data/actions/csvFetcher.js new file mode 100644 index 000000000000..86e40350c842 --- /dev/null +++ b/lms/static/js/csv_viewer/data/actions/csvFetcher.js @@ -0,0 +1,40 @@ +import Papa from 'papaparse'; + +import csvViewerActions from './constants'; + +const fetchCSVDataStart = () => ({ + type: csvViewerActions.fetch.START, +}); + +const fetchCSVDataSuccess = (csvUrl, csvData) => ({ + type: csvViewerActions.fetch.SUCCESS, + csvUrl, + csvData, +}); + +const fetchCSVDataFailure = error => ({ + type: csvViewerActions.fetch.FAILURE, + error, +}); + +const fetchCSVData = csvFileUrl => (dispatch) => { + dispatch(fetchCSVDataStart()); + Papa.parse(csvFileUrl, { + download: true, + dynamicTyping: true, + header: true, + skipEmptyLines: true, + trimHeader: true, + complete: (results) => { + dispatch(fetchCSVDataSuccess(csvFileUrl, results.data)); + }, + error: () => { + dispatch(fetchCSVDataFailure('csv_load_error')); + }, + }); +}; + +export { + fetchCSVData, + fetchCSVDataSuccess, +}; diff --git a/lms/static/js/csv_viewer/data/reducers/index.js b/lms/static/js/csv_viewer/data/reducers/index.js new file mode 100644 index 000000000000..4a77d88d91f0 --- /dev/null +++ b/lms/static/js/csv_viewer/data/reducers/index.js @@ -0,0 +1,47 @@ +import { combineReducers } from 'redux'; + +import csvViewerActions from '../actions/constants'; + +const processCSV = (csvData) => { + const columnDefs = csvData.length + ? Object.keys(csvData[0]).map(field => ({ field })) + : []; + return { + rowData: csvData, + columnDefs, + }; +}; + +const csvData = (state = { rowData: [], columnDefs: [], csvUrl: null }, action) => { + switch (action.type) { + case csvViewerActions.fetch.SUCCESS: + return {csvUrl: action.csvUrl, ...processCSV(action.csvData)}; + default: + return state; + } +}; + +const error = (state = null, action) => { + switch (action.type) { + case csvViewerActions.fetch.FAILURE: + return action.error; + case csvViewerActions.fetch.SUCCESS: + return null; + default: + return state; + } +}; + +const loading = (state = false, action) => { + switch (action.type) { + case csvViewerActions.fetch.START: + return true; + case csvViewerActions.fetch.SUCCESS: + case csvViewerActions.fetch.FAILURE: + return false; + default: + return state; + } +}; + +export default combineReducers({ csvData, error, loading }); diff --git a/lms/static/js/csv_viewer/data/store.js b/lms/static/js/csv_viewer/data/store.js new file mode 100644 index 000000000000..4ae6ebb5baf9 --- /dev/null +++ b/lms/static/js/csv_viewer/data/store.js @@ -0,0 +1,30 @@ +import thunkMiddleware from 'redux-thunk'; +import { applyMiddleware, createStore } from 'redux'; + +import rootReducer from './reducers/index'; +import { fetchCSVData } from './actions/csvFetcher'; + +const store = createStore( + rootReducer, + applyMiddleware(thunkMiddleware), +); + +// We need to use this custom function instead of URLSearchParams since +// we need to use decodeURI for the csvUrl instead of decodeURIComponent +function getCsvUrl() { + const query = window.location.search.substring(1); + const vars = query.split('&'); + for (let i = 0; i < vars.length; i += 1) { + const pair = vars[i].split('='); + if (pair[0] === 'csvUrl') { + return decodeURI(pair[1]); + } + } + return null; +} + +const csvUrl = getCsvUrl(); + +store.dispatch(fetchCSVData(csvUrl)); + +export default store; diff --git a/lms/static/js/csv_viewer/index.jsx b/lms/static/js/csv_viewer/index.jsx new file mode 100644 index 000000000000..b03779e5a4d3 --- /dev/null +++ b/lms/static/js/csv_viewer/index.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { Provider } from 'react-redux'; + +import store from './data/store'; +import CSVViewerContainer from './components/CSVViewer/CSVViewerContainer.jsx'; + +export const CSVViewer = props => ( + + + +); diff --git a/lms/static/js/instructor_dashboard/util.js b/lms/static/js/instructor_dashboard/util.js index 6712d6702c92..a7a853ded2a1 100644 --- a/lms/static/js/instructor_dashboard/util.js +++ b/lms/static/js/instructor_dashboard/util.js @@ -492,7 +492,22 @@ edx.HtmlUtils.HTML('">'), dataContext.name, edx.HtmlUtils.HTML('')); } - } + }, { + id: 'preview-report', + field: 'preview_url', + name: gettext('Preview Report in Browser'), + toolTip: gettext('Links are generated on demand and expire within 5 minutes due to the sensitive nature of student information.'), // eslint-disable-line max-len + sortable: false, + maxWidth: 100, + cssClass: 'file-preview-link', + formatter: function(row, cell, value, columnDef, dataContext) { + return edx.HtmlUtils.joinHtml(edx.HtmlUtils.HTML( + ''), gettext('Preview'), + edx.HtmlUtils.HTML('')); + } + }, + ]; $tablePlaceholder = $('
', { class: 'slickgrid' diff --git a/lms/static/sass/_build-lms-v1.scss b/lms/static/sass/_build-lms-v1.scss index aa2c05fc907f..46e361fbc4b6 100644 --- a/lms/static/sass/_build-lms-v1.scss +++ b/lms/static/sass/_build-lms-v1.scss @@ -65,6 +65,7 @@ @import 'course/auto-cert'; @import 'views/api-access'; @import 'views/text-me-the-app'; +@import 'views/csv_viewer'; // features @import 'features/bookmarks-v1'; diff --git a/lms/static/sass/course/instructor/_instructor_2.scss b/lms/static/sass/course/instructor/_instructor_2.scss index ee6abbed6f2f..446accdd43c6 100644 --- a/lms/static/sass/course/instructor/_instructor_2.scss +++ b/lms/static/sass/course/instructor/_instructor_2.scss @@ -1496,9 +1496,11 @@ height: 300px; padding: ($baseline/4); } - // Disable horizontal scroll bar when grid only has 1 column. Remove this CSS class when more columns added. - .slick-viewport { - overflow-x: hidden !important; + + .file-download-link a { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } } } diff --git a/lms/static/sass/views/_csv_viewer.scss b/lms/static/sass/views/_csv_viewer.scss new file mode 100644 index 000000000000..31a0decc4ad7 --- /dev/null +++ b/lms/static/sass/views/_csv_viewer.scss @@ -0,0 +1,7 @@ +.csv-viewer-main { + .download-button-row { + display: flex; + margin: 1rem 0; + justify-content: flex-end; + } +} diff --git a/lms/templates/static_templates/csv-viewer.html b/lms/templates/static_templates/csv-viewer.html new file mode 100644 index 000000000000..70066b4dac7b --- /dev/null +++ b/lms/templates/static_templates/csv-viewer.html @@ -0,0 +1,43 @@ +<%page expression_filter="h"/> +<%! from django.utils.translation import ugettext as _ %> +<%inherit file="../main.html" /> +<%namespace name='static' file='../static_content.html'/> + +<%block name="pagetitle">${_("CSV Viewer")} + +<%block name="head_extra"> + <%static:css group='style-vendor-ag-grid'/> + + + +
+ ${static.renderReact( + component="CSVViewer", + id="react-csv-viewer", + props={ + "enableRtl": LANGUAGE_BIDI, + "errorMessages": { + "csv_load_error": _("Unable to load data"), + }, + "loadingMessage": _("Loading..."), + } + )} +
diff --git a/lms/templates/static_templates/media-kit.html b/lms/templates/static_templates/media-kit.html index 4819bcaa9f75..66e0bce21345 100644 --- a/lms/templates/static_templates/media-kit.html +++ b/lms/templates/static_templates/media-kit.html @@ -4,7 +4,7 @@ <%block name="pagetitle">${_("Media Kit")} -
+

<%block name="pageheader">${page_header or _("Media Kit")} diff --git a/package-lock.json b/package-lock.json index e7dd63273dae..e25c59534633 100644 --- a/package-lock.json +++ b/package-lock.json @@ -284,6 +284,19 @@ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, + "ag-grid": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/ag-grid/-/ag-grid-17.1.1.tgz", + "integrity": "sha1-bHAQpl1ui2Nz4v6XZDye7PVBcCY=" + }, + "ag-grid-react": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-17.1.0.tgz", + "integrity": "sha1-jJzuY+Mhg3h7r7KiuF4elmrQvjk=", + "requires": { + "prop-types": "15.6.0" + } + }, "airbnb-prop-types": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.10.0.tgz", @@ -8959,7 +8972,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -9141,6 +9154,11 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, + "papaparse": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-4.5.0.tgz", + "integrity": "sha1-+2JdOQtuXVRNsgZYzjZlACw9joA=" + }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", @@ -10273,6 +10291,11 @@ "prop-types": "15.6.0" } }, + "react-dom-factories": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-dom-factories/-/react-dom-factories-1.0.2.tgz", + "integrity": "sha1-63cFxNs2+1AbOqOP91lhaqD/luA=" + }, "react-dropzone": { "version": "4.2.13", "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-4.2.13.tgz", diff --git a/package.json b/package.json index 57cb70ef748f..2ed7df2970dd 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "@edx/edx-bootstrap": "0.4.3", "@edx/paragon": "2.6.4", "@edx/studio-frontend": "1.16.5", + "ag-grid": "17.1.1", + "ag-grid-react": "17.1.0", "babel-core": "6.26.0", "babel-loader": "6.4.1", "babel-plugin-transform-class-properties": "6.24.1", @@ -36,12 +38,14 @@ "moment": "2.18.1", "moment-timezone": "0.5.14", "node-sass": "4.7.2", + "papaparse": "^4.4.0", "picturefill": "3.0.2", "popper.js": "1.12.9", "prop-types": "15.6.0", "raw-loader": "0.5.1", "react": "16.1.0", "react-dom": "16.1.0", + "react-dom-factories": "^1.0.2", "react-redux": "5.0.7", "react-slick": "0.16.0", "redux": "3.7.2", diff --git a/webpack.common.config.js b/webpack.common.config.js index 5ad625f5eb01..79e141b68b75 100644 --- a/webpack.common.config.js +++ b/webpack.common.config.js @@ -75,6 +75,8 @@ module.exports = Merge.smart({ CookiePolicyBanner: './common/static/js/src/CookiePolicyBanner.jsx', + CSVViewer: './lms/static/js/csv_viewer/index.jsx', + // Common ReactRenderer: './common/static/js/src/ReactRenderer.jsx', XModuleShim: 'xmodule/js/src/xmodule.js', From b6dae78b63dd8e41fb98af0a603721e64ece2b35 Mon Sep 17 00:00:00 2001 From: Eugeny Kolpakov Date: Tue, 8 May 2018 23:55:49 +0800 Subject: [PATCH 2/2] Add popup to display report creation progress. Co-authored-by: Adam Kovari Co-authored-by: Eugeny Kolpakov Co-authored-by: Kshitij Sobti --- .../BlockBrowser/data/reducers/index.js | 6 +- .../{ProblemBrowser => }/.eslintrc.js | 0 .../ProblemBrowser/components/Main/Main.jsx | 55 +++++++++++-- .../components/Main/MainContainer.jsx | 14 +++- .../components/Popup/PopupModal.jsx | 82 +++++++++++++++++++ .../components/Popup/PopupModalContainer.jsx | 19 +++++ .../ProblemBrowser/data/actions/constants.js | 7 ++ .../data/actions/problemResponses.js | 76 +++++++++++++++++ .../ProblemBrowser/data/api/client.js | 34 ++++++++ .../ProblemBrowser/data/reducers/index.js | 43 ++++++++++ .../instructor/ProblemBrowser/data/store.js | 15 ++++ .../instructor/ProblemBrowser/index.jsx | 2 +- lms/djangoapps/instructor/tests/test_api.py | 19 +++-- lms/djangoapps/instructor/views/api.py | 2 +- .../instructor_task/tasks_helper/grades.py | 10 ++- .../instructor_task/tasks_helper/utils.py | 3 +- .../sass/course/instructor/_instructor_2.scss | 23 ++++++ .../instructor_dashboard_2/data_download.html | 16 ++-- .../instructor_dashboard_2.html | 1 + 19 files changed, 391 insertions(+), 36 deletions(-) rename lms/djangoapps/instructor/static/instructor/{ProblemBrowser => }/.eslintrc.js (100%) create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Popup/PopupModal.jsx create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Popup/PopupModalContainer.jsx create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/data/actions/constants.js create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/data/actions/problemResponses.js create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/data/api/client.js create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/data/reducers/index.js create mode 100644 lms/djangoapps/instructor/static/instructor/ProblemBrowser/data/store.js diff --git a/common/static/common/js/components/BlockBrowser/data/reducers/index.js b/common/static/common/js/components/BlockBrowser/data/reducers/index.js index 7d14e63052cd..365e9153edd5 100644 --- a/common/static/common/js/components/BlockBrowser/data/reducers/index.js +++ b/common/static/common/js/components/BlockBrowser/data/reducers/index.js @@ -18,7 +18,7 @@ export const buildBlockTree = (blocks, excludeBlockTypes) => { return blockTree(blocks.root, null); }; -const blocks = (state = {}, action) => { +export const blocks = (state = {}, action) => { switch (action.type) { case courseBlocksActions.fetch.SUCCESS: return buildBlockTree(action.blocks, action.excludeBlockTypes); @@ -27,7 +27,7 @@ const blocks = (state = {}, action) => { } }; -const selectedBlock = (state = null, action) => { +export const selectedBlock = (state = null, action) => { switch (action.type) { case courseBlocksActions.SELECT_BLOCK: return action.blockId; @@ -37,7 +37,7 @@ const selectedBlock = (state = null, action) => { }; -const rootBlock = (state = null, action) => { +export const rootBlock = (state = null, action) => { switch (action.type) { case courseBlocksActions.fetch.SUCCESS: return action.blocks.root; diff --git a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/.eslintrc.js b/lms/djangoapps/instructor/static/instructor/.eslintrc.js similarity index 100% rename from lms/djangoapps/instructor/static/instructor/ProblemBrowser/.eslintrc.js rename to lms/djangoapps/instructor/static/instructor/.eslintrc.js diff --git a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx index aca0041c9948..bbc7c8efeebb 100644 --- a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx +++ b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx @@ -1,15 +1,20 @@ /* global gettext */ import { Button } from '@edx/paragon'; -import { BlockBrowser } from 'BlockBrowser'; +import BlockBrowserContainer from 'BlockBrowser/components/BlockBrowser/BlockBrowserContainer'; import * as PropTypes from 'prop-types'; import * as React from 'react'; +import { PopupModalContainer } from '../Popup/PopupModalContainer'; export default class Main extends React.Component { constructor(props) { super(props); this.handleToggleDropdown = this.handleToggleDropdown.bind(this); + this.showPopup = this.showPopup.bind(this); + this.hidePopup = this.hidePopup.bind(this); this.state = { + popupOpen: false, showDropdown: false, + taskForBlock: null, }; } @@ -22,19 +27,51 @@ export default class Main extends React.Component { this.setState({ showDropdown: false }); } + showPopup() { + if (this.state.taskForBlock !== this.props.selectedBlock) { + this.props.createProblemResponsesReportTask( + this.props.initialEndpoint, + this.props.taskStatusEndpoint, + this.props.selectedBlock, + ); + } + this.setState({ popupOpen: true, taskForBlock: this.props.selectedBlock }); + } + + hidePopup() { + if (this.props.timeout != null) { + clearTimeout(this.props.timeout); + } + this.setState({ popupOpen: false, taskForBlock: null }); + this.props.resetProblemResponsesReportTask(); + } + render() { const { selectedBlock, onSelectBlock } = this.props; return (
-
); } @@ -42,13 +79,19 @@ export default class Main extends React.Component { Main.propTypes = { courseId: PropTypes.string.isRequired, + createProblemResponsesReportTask: PropTypes.func.isRequired, excludeBlockTypes: PropTypes.arrayOf(PropTypes.string), fetchCourseBlocks: PropTypes.func.isRequired, + initialEndpoint: PropTypes.string.isRequired, onSelectBlock: PropTypes.func.isRequired, selectedBlock: PropTypes.string, + resetProblemResponsesReportTask: PropTypes.func.isRequired, + taskStatusEndpoint: PropTypes.string.isRequired, + timeout: PropTypes.number, }; Main.defaultProps = { excludeBlockTypes: null, selectedBlock: null, + timeout: null, }; diff --git a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/MainContainer.jsx b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/MainContainer.jsx index a36b31978be9..6257b7130f70 100644 --- a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/MainContainer.jsx +++ b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/MainContainer.jsx @@ -1,17 +1,25 @@ import { fetchCourseBlocks, selectBlock } from 'BlockBrowser/data/actions/courseBlocks'; import { connect } from 'react-redux'; - +import { createProblemResponsesReportTask, reset } from '../../data/actions/problemResponses'; import Main from './Main'; const mapStateToProps = state => ({ selectedBlock: state.selectedBlock, + timeout: state.popupTask.timeout, }); const mapDispatchToProps = dispatch => ({ onSelectBlock: blockId => dispatch(selectBlock(blockId)), - fetchCourseBlocks: (courseId, excludeBlockTypes) => - dispatch(fetchCourseBlocks(courseId, excludeBlockTypes)), + fetchCourseBlocks: + (courseId, excludeBlockTypes) => + dispatch(fetchCourseBlocks(courseId, excludeBlockTypes)), + createProblemResponsesReportTask: + (initialEndpoint, taskStatusEndpoint, problemLocation) => + dispatch( + createProblemResponsesReportTask(initialEndpoint, taskStatusEndpoint, problemLocation), + ), + resetProblemResponsesReportTask: () => dispatch(reset), }); const MainContainer = connect( diff --git a/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Popup/PopupModal.jsx b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Popup/PopupModal.jsx new file mode 100644 index 000000000000..691e92c6fe79 --- /dev/null +++ b/lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Popup/PopupModal.jsx @@ -0,0 +1,82 @@ +/* global gettext */ +import { Button, Modal } from '@edx/paragon/static'; +import * as classNames from 'classnames'; +import * as PropTypes from 'prop-types'; +import * as React from 'react'; + +const PopupModal = ({ open, onHide, message, error, succeeded, reportPath, reportPreview }) => { + const previewButton = ( +