ru.coon 3.0.8 → 3.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +1 -1
  3. package/src/app/Router.js +21 -19
  4. package/src/app/viewPort/CenterView.js +4 -0
  5. package/src/app/viewPort/CenterView.scss +1 -0
  6. package/src/common/ComponentFactory.js +5 -2
  7. package/src/common/button/DropdownContentButton.scss +4 -0
  8. package/src/common/panel/StopwatchWindow.scss +1 -0
  9. package/src/common/panel/WindowWrap.js +1 -2
  10. package/src/nav/AppNavigationPanel.scss +7 -1
  11. package/src/report/column/BigNumIndicationColumn.js +0 -9
  12. package/src/report/component/ReportPanel.js +7 -5
  13. package/src/report/component/reportpanel/NorthPanel.scss +1 -0
  14. package/src/report/component/reportpanel/ReportGrid.scss +1 -0
  15. package/src/report/plugin/grid/addFilterConditionPlugin/FilterItem.scss +1 -0
  16. package/src/report/plugin/grid/addFilterConditionPlugin/InfoMenuItem.scss +1 -0
  17. package/src/report/toolbar/dropdown/ToolbarOverflowButton.scss +12 -0
  18. package/src/report/toolbar/dropdown/ToolbarOverflowPanel.scss +1 -0
  19. package/src/research/componentHierarchy/ComponentHierarchyLoader.js +73 -56
  20. package/src/research/componentHierarchy/ComponentOptionsView.js +39 -0
  21. package/src/research/componentHierarchy/ComponentOptionsViewController.js +56 -0
  22. package/src/research/componentHierarchy/ComponentTreeView.js +26 -12
  23. package/src/research/componentHierarchy/ComponentTreeViewController.js +49 -53
  24. package/src/research/componentHierarchy/docs/componentHierarchy.svg +110 -0
  25. package/src/version.js +1 -1
  26. /package/src/research/componentHierarchy/{componentHierarchy.d2 → docs/componentHierarchy.d2} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # Version 3.0.10, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/60813ea5c62acce6fef1c27368b21647bf1d3300)
2
+ * ## Fixes
3
+ * <span style='color:red'>fix ReportPanel afterlayout</span> ([e3012c], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/e3012c8728acac4bf64acb3a8d828200e92c1f7e))
4
+ * <span style='color:red'> HT-12487 change Error.isError to instanceof Error</span> ([f38aba], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/f38aba2b4db7edff8d067879b3ce576fb5f1145b))
5
+
6
+ * refactoring ([7b5203], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/7b5203d452efd97cea1cc6a556de21bf1e924fe7))
7
+ * update: CHANGELOG.md ([ab3f61], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/ab3f6182999bcd5456714b289eb8efed65263f13))
8
+
9
+ # Version 3.0.9, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/59c87d3246401ff37a357319af2e14f2c5842409)
10
+ * ## Fixes
11
+ * <span style='color:red'>fix error on invalid menuItem id in url</span> ([2ea41b], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/2ea41b986155f8457088d5f11c988418d645c9ac))
12
+ * <span style='color:red'> HT-12211 fix indents</span> ([6e199c], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/6e199c0b9d3ade1640e9d8e2c9525316a9e95007))
13
+
14
+ * add openInEditor in component hierarchy ([08f577], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/08f5779e801d80935e5fb34256e157939b5f8fee))
15
+ * HT-12472 fix: Исправление отображения «Меню навигации» и другого в старых версиях браузера chrome ([798820], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/798820de0189e38991454e2021eb9b76fb6d7644))
16
+ * upd ([54c87f], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/54c87ffec22a37948ab641830cec5d2a14cd9737))
17
+ * upd ([dda64e], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/dda64ecc374a53275f2853238f07fcc53ec941b2))
18
+ * update: CHANGELOG.md ([c0b5c0], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/c0b5c0f2e8793ddc134beba8d3d5d99981e1521c))
19
+
1
20
  # Version 3.0.8, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/d002a5973cb3a56e4efc7376e0651fb859700ab1)
2
21
  * ## Features
3
22
  * <span style='color:green'>feat: HT-12388 add opening as a tab in CenterView option in OpenPanelPlugin</span> ([83a2f8], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/83a2f83dc1781307946e4f4d7dcbdd400fb95c38))
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "name": "ru.coon"
5
5
  },
6
6
  "description": "",
7
- "version": "3.0.8",
7
+ "version": "3.0.10",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+http://gitlab-dbr.sigma-it.local/dbr/ru.coon"
package/src/app/Router.js CHANGED
@@ -3,20 +3,11 @@ Ext.define('Coon.app.Router', {
3
3
  singleton: true,
4
4
  constructor() {
5
5
  this.setRoutes({
6
+ '*': {before: 'onAny'},
6
7
  ':{id}': {
7
8
  action: 'onRouteEnter',
8
9
  before: 'validateMenuItem',
9
10
  },
10
- // ':{type}/:{id}/:{params...}': {
11
- // action: 'onRouteEnter',
12
- // types: {
13
- // '...': {
14
- // re: '(.+)?',
15
- // split: '/',
16
- // parse: (value) => value,
17
- // },
18
- // },
19
- // },
20
11
  });
21
12
  Ext.on('router:goToLastRoute', () => {
22
13
  this.onRouteEnter(this.lastRoute);
@@ -25,25 +16,40 @@ Ext.define('Coon.app.Router', {
25
16
 
26
17
  lastRoute: null,
27
18
 
28
- async validateMenuItem(route) {
29
- if (!Ext.getApplication().isAuthenticated()) {
19
+ onAny(action) {
20
+ if (Ext.getApplication().isAuthenticated()) {
21
+ action.resume();
22
+ } else {
23
+ Coon.log.debug('beforeAnyRoute: not authorized');
24
+ if (action.stop) {
25
+ action.stop();
26
+ }
30
27
  return false;
31
28
  }
29
+ },
30
+
31
+ async validateMenuItem(route) {
32
+ Coon.log.debug('validateMenuItem.run', route.id);
32
33
  try {
33
34
  route.menuItem = await Coon.nav.MenuEntity.getMenuItem(route.id);
34
35
  if (!route.menuItem) {
35
- return false;
36
+ Coon.log.debug('validateMenuItem: miss menuItem', route.id);
37
+ route.stop();
38
+ return;
36
39
  }
37
40
  route.uiElement = await Coon.util.promisifyCmd(
38
41
  'Coon.uielement.command.GetUIElementCommand',
39
42
  route.menuItem.UI_ELEMENT_CD
40
43
  );
41
44
  if (!route.uiElement) {
42
- return false;
45
+ Coon.log.debug('validateMenuItem: miss uiElement');
46
+ route.stop();
47
+ return;
43
48
  }
44
49
  return true;
45
50
  } catch (ex) {
46
- return false;
51
+ route.stop();
52
+ return;
47
53
  }
48
54
  },
49
55
 
@@ -71,10 +77,6 @@ Ext.define('Coon.app.Router', {
71
77
 
72
78
  onRouteEnter(route) {
73
79
  this.lastRoute = route;
74
- if (!this.onBeforeRouteEnter()) {
75
- this.onBeforeRouteEnterFailed();
76
- return;
77
- }
78
80
  const app = Ext.getApplication();
79
81
  if (!app.initialRoute) {
80
82
  app.initialRoute = route;
@@ -95,6 +95,10 @@ Ext.define('Coon.app.viewPort.CenterView', {
95
95
  return;
96
96
  }
97
97
  const component = Coon.common.ComponentFactory.createTabComponent(route);
98
+ if (component instanceof Error) {
99
+ Coon.log.error(component);
100
+ return;
101
+ }
98
102
  const active = this.setActiveComponent(component);
99
103
  active && active.fireEvent('activatecomponent', active);
100
104
  },
@@ -48,6 +48,7 @@
48
48
  }
49
49
  span.x-tab-icon-el {
50
50
  mask-size: 16px!important;
51
+ -webkit-mask-size: 16px!important;
51
52
  background-color: gray;
52
53
  }
53
54
  .x-tab-wrap {
@@ -45,8 +45,8 @@ Ext.define('Coon.common.ComponentFactory', {
45
45
 
46
46
  getRootComponentConfig(route, useCache = true) {
47
47
  const {id, params = [], menuItem} = route;
48
- if (!id) {
49
- throw new Error('не задан id у пункта меню');
48
+ if (!id || !menuItem) {
49
+ return new Error('не задан id у пункта меню или id невалидный');
50
50
  }
51
51
  const uiElementCd = menuItem.UI_ELEMENT_CD;
52
52
  const cacheKey = JSON.stringify({uiElementCd, params});
@@ -127,6 +127,9 @@ Ext.define('Coon.common.ComponentFactory', {
127
127
 
128
128
  createTabComponent(route) {
129
129
  const config = this.getRootComponentConfig(route);
130
+ if (config instanceof Error) {
131
+ return config;
132
+ }
130
133
  const menuItem = config.menuItem;
131
134
  config.layout = config.layout || 'fit';
132
135
  const onIconClick = function() {
@@ -43,9 +43,13 @@
43
43
 
44
44
  &-icon {
45
45
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjI5Mjg5IDcuMjkyODlDMy42ODM0MiA2LjkwMjM3IDQuMzE2NTggNi45MDIzNyA0LjcwNzExIDcuMjkyODlMMTIgMTQuNTg1OEwxOS4yOTI5IDcuMjkyODlDMTkuNjgzNCA2LjkwMjM3IDIwLjMxNjYgNi45MDIzNyAyMC43MDcxIDcuMjkyODlDMjEuMDk3NiA3LjY4MzQyIDIxLjA5NzYgOC4zMTY1OCAyMC43MDcxIDguNzA3MTFMMTIuNzA3MSAxNi43MDcxQzEyLjMxNjYgMTcuMDk3NiAxMS42ODM0IDE3LjA5NzYgMTEuMjkyOSAxNi43MDcxTDMuMjkyODkgOC43MDcxMUMyLjkwMjM3IDguMzE2NTggMi45MDIzNyA3LjY4MzQyIDMuMjkyODkgNy4yOTI4OVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
46
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjI5Mjg5IDcuMjkyODlDMy42ODM0MiA2LjkwMjM3IDQuMzE2NTggNi45MDIzNyA0LjcwNzExIDcuMjkyODlMMTIgMTQuNTg1OEwxOS4yOTI5IDcuMjkyODlDMTkuNjgzNCA2LjkwMjM3IDIwLjMxNjYgNi45MDIzNyAyMC43MDcxIDcuMjkyODlDMjEuMDk3NiA3LjY4MzQyIDIxLjA5NzYgOC4zMTY1OCAyMC43MDcxIDguNzA3MTFMMTIuNzA3MSAxNi43MDcxQzEyLjMxNjYgMTcuMDk3NiAxMS42ODM0IDE3LjA5NzYgMTEuMjkyOSAxNi43MDcxTDMuMjkyODkgOC43MDcxMUMyLjkwMjM3IDguMzE2NTggMi45MDIzNyA3LjY4MzQyIDMuMjkyODkgNy4yOTI4OVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
46
47
  mask-size: 100%;
48
+ -webkit-mask-size: 100%;
47
49
  mask-repeat: no-repeat;
50
+ -webkit-mask-repeat: no-repeat;
48
51
  mask-position: center;
52
+ -webkit-mask-position: center;
49
53
  background-color: #3d6780;
50
54
  }
51
55
 
@@ -3,6 +3,7 @@
3
3
  min-height: 48px !important;
4
4
  min-width: 48px !important;
5
5
  mask-size: 48px;
6
+ -webkit-mask-size: 48px;
6
7
  }
7
8
  .svg-icon-color-green {
8
9
  background-color: rgba(82, 148, 100, 1);
@@ -101,8 +101,7 @@ Ext.define('Coon.common.panel.WindowWrap', {
101
101
  const me = this;
102
102
  const panel = this.items;
103
103
  panel.header = false;
104
- this.constrainView = Ext.getBody();// Coon.app.Config.get('mainViewXType');
105
- // this.constrainTo = this.constrainView.getEl();
104
+ this.constrainView = Ext.getBody();
106
105
  this.updateDimensions(panel);
107
106
  this.constrainView.on('resize', this.updateConstraints, this);
108
107
  this.tools = this.tools || [];
@@ -1,5 +1,6 @@
1
1
  .svg-icon-size-18{
2
2
  mask-size: 18px;
3
+ -webkit-mask-size: 18px;
3
4
  }
4
5
  .search-compare{
5
6
  background-color: #ffcd29 !important;
@@ -73,11 +74,12 @@
73
74
  ul{
74
75
  width: 400px;
75
76
  list-style: none;
76
- padding-left: 10px;
77
+ padding-left: 28px;
77
78
  li{
78
79
  margin: 10px 0;
79
80
  color: #1E3B4C;
80
81
  display: block;
82
+ position: relative;
81
83
  .parent-menu-item{
82
84
  color: #112b39;
83
85
  font-weight: 600;
@@ -88,6 +90,9 @@
88
90
  min-width: 20px;
89
91
  height: 20px;
90
92
  display: inline-block;
93
+ position: absolute;
94
+ left: -20px;
95
+ top: -2px;
91
96
  }
92
97
  .star{
93
98
  width: 20px;
@@ -104,6 +109,7 @@
104
109
  li.ref-item {
105
110
  display: flex;
106
111
  flex-wrap: nowrap;
112
+ width: max-content;
107
113
  cursor: pointer;
108
114
  }
109
115
  li.ref-item:hover {
@@ -20,15 +20,6 @@ Ext.define('Coon.report.column.BigNumIndicationColumn', {
20
20
  <div ext:qtip="${value}, (${record.get(meta.column.lftField)},${record.get(meta.column.rgtField)}), Системный расчет #>">
21
21
  ${value}
22
22
  </div>`;
23
- // return '<div ext:qtip="' +
24
- // value +
25
- // ', (' + record.get(meta.column.lftField) +
26
- // ',' +
27
- // record.get(meta.column.rgtField) +
28
- // '), Системный расчет #>' +
29
- // '">' +
30
- // value +
31
- // '</div>';
32
23
  }
33
24
  },
34
25
  });
@@ -421,12 +421,14 @@ Ext.define('Coon.report.component.ReportPanel', {
421
421
  this.el && this.el.dom && this.el.dom.setAttribute('data-report', this.r_id || this.reportId);
422
422
  }, this);
423
423
  this.on('afterlayout', function() {
424
- const grid = this.grid;
425
- grid && setTimeout(function() {
426
- if (grid.viewConfig) {
427
- grid.scrollTo(0, 0);
424
+ if (!this.grid || this.grid.destroyed) {
425
+ return;
426
+ }
427
+ setTimeout(function() {
428
+ if (this.grid.viewConfig) {
429
+ this.grid.scrollTo(0, 0);
428
430
  }
429
- }, 500);
431
+ }.bind(this), 500);
430
432
  }, this);
431
433
  this.on('invalidateCache', this.filterHandler.bind(this, true));
432
434
  },
@@ -68,6 +68,7 @@
68
68
  min-width: 16px !important;
69
69
  min-height: 16px !important;
70
70
  mask-size: 16px !important;
71
+ -webkit-mask-size: 16px !important;
71
72
  }
72
73
 
73
74
  }
@@ -45,6 +45,7 @@
45
45
  min-width: 16px !important;
46
46
  min-height: 16px !important;
47
47
  mask-size: 16px !important;
48
+ -webkit-mask-size: 16px !important;
48
49
  &.x-fa {
49
50
  font-size: 16px !important
50
51
  }
@@ -16,6 +16,7 @@
16
16
  min-height: 20px !important;
17
17
  min-width: 20px !important;
18
18
  mask-size: 20px;
19
+ -webkit-mask-size: 20px;
19
20
  }
20
21
 
21
22
  }
@@ -25,6 +25,7 @@
25
25
  min-height: 18px !important;
26
26
  min-width: 18px !important;
27
27
  mask-size: 15px;
28
+ -webkit-mask-size: 15px;
28
29
  }
29
30
 
30
31
  .system-button-type {
@@ -42,13 +42,18 @@
42
42
  top:3px;
43
43
  background-color: #6493CC;
44
44
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNiA2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjMiIGN5PSIzIiByPSIzIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
45
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNiA2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjMiIGN5PSIzIiByPSIzIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
45
46
  mask-size: 100%;
47
+ -webkit-mask-size: 100%;
46
48
  }
47
49
 
48
50
  .ToolbarOverflowButtonIcon{
49
51
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjI5Mjg5IDcuMjkyODlDMy42ODM0MiA2LjkwMjM3IDQuMzE2NTggNi45MDIzNyA0LjcwNzExIDcuMjkyODlMMTIgMTQuNTg1OEwxOS4yOTI5IDcuMjkyODlDMTkuNjgzNCA2LjkwMjM3IDIwLjMxNjYgNi45MDIzNyAyMC43MDcxIDcuMjkyODlDMjEuMDk3NiA3LjY4MzQyIDIxLjA5NzYgOC4zMTY1OCAyMC43MDcxIDguNzA3MTFMMTIuNzA3MSAxNi43MDcxQzEyLjMxNjYgMTcuMDk3NiAxMS42ODM0IDE3LjA5NzYgMTEuMjkyOSAxNi43MDcxTDMuMjkyODkgOC43MDcxMUMyLjkwMjM3IDguMzE2NTggMi45MDIzNyA3LjY4MzQyIDMuMjkyODkgNy4yOTI4OVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
52
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjI5Mjg5IDcuMjkyODlDMy42ODM0MiA2LjkwMjM3IDQuMzE2NTggNi45MDIzNyA0LjcwNzExIDcuMjkyODlMMTIgMTQuNTg1OEwxOS4yOTI5IDcuMjkyODlDMTkuNjgzNCA2LjkwMjM3IDIwLjMxNjYgNi45MDIzNyAyMC43MDcxIDcuMjkyODlDMjEuMDk3NiA3LjY4MzQyIDIxLjA5NzYgOC4zMTY1OCAyMC43MDcxIDguNzA3MTFMMTIuNzA3MSAxNi43MDcxQzEyLjMxNjYgMTcuMDk3NiAxMS42ODM0IDE3LjA5NzYgMTEuMjkyOSAxNi43MDcxTDMuMjkyODkgOC43MDcxMUMyLjkwMjM3IDguMzE2NTggMi45MDIzNyA3LjY4MzQyIDMuMjkyODkgNy4yOTI4OVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
50
53
  mask-size: 100%;
54
+ -webkit-mask-size: 100%;
51
55
  mask-repeat: no-repeat;
56
+ -webkit-mask-repeat: no-repeat;
52
57
  background-color: #3d6780;
53
58
  }
54
59
  }
@@ -60,29 +65,36 @@
60
65
 
61
66
  .go-to-button{
62
67
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzkxN18yNDU4KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi43MDcxIDE2LjcwNzFMMTYuNzA3MSAxMi43MDcxQzE3LjA5NzYgMTIuMzE2NiAxNy4wOTc2IDExLjY4MzQgMTYuNzA3MSAxMS4yOTI5TDEyLjcwNzEgNy4yOTI4OUMxMi4zMTY2IDYuOTAyMzcgMTEuNjgzNCA2LjkwMjM3IDExLjI5MjkgNy4yOTI4OUMxMC45MDI0IDcuNjgzNDIgMTAuOTAyNCA4LjMxNjU4IDExLjI5MjkgOC43MDcxMUwxMy41ODU4IDExTDkuMDkwOTEgMTFDNi4zMTc4NSAxMSA0IDEzLjE2ODggNCAxNS45Mjg2TDQgMjNDNCAyMy41NTIzIDQuNDQ3NzIgMjQgNSAyNEM1LjU1MjI5IDI0IDYgMjMuNTUyMyA2IDIzTDYgMTUuOTI4NkM2IDE0LjM0ODkgNy4zNDUzMiAxMyA5LjA5MDkxIDEzTDEzLjU4NTggMTNMMTEuMjkyOSAxNS4yOTI5QzEwLjkwMjQgMTUuNjgzNCAxMC45MDI0IDE2LjMxNjYgMTEuMjkyOSAxNi43MDcxQzExLjY4MzQgMTcuMDk3NiAxMi4zMTY2IDE3LjA5NzYgMTIuNzA3MSAxNi43MDcxWiIgZmlsbD0iYmxhY2siLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjI5MjkgMC4yOTI4OTNDMTEuNjgzNCAtMC4wOTc2MzExIDEyLjMxNjYgLTAuMDk3NjMxMSAxMi43MDcxIDAuMjkyODkzTDIzLjcwNzEgMTEuMjkyOUMyNC4wOTc2IDExLjY4MzQgMjQuMDk3NiAxMi4zMTY2IDIzLjcwNzEgMTIuNzA3MUwxMi43MDcxIDIzLjcwNzFDMTIuNTE5NiAyMy44OTQ2IDEyLjI2NTIgMjQgMTIgMjRDMTEuNzM0OCAyNCAxMS40ODA0IDIzLjg5NDYgMTEuMjkyOSAyMy43MDcxTDcuNDQyODkgMTkuODU3MUM3LjA1MjM3IDE5LjQ2NjYgNy4wNTIzNyAxOC44MzM0IDcuNDQyODkgMTguNDQyOUM3LjgzMzQyIDE4LjA1MjQgOC40NjY1OCAxOC4wNTI0IDguODU3MTEgMTguNDQyOUwxMiAyMS41ODU4TDIxLjU4NTggMTJMMTIgMi40MTQyMUwyLjQxNDIxIDEyTDIuNzA3MTEgMTIuMjkyOUMzLjA5NzYzIDEyLjY4MzQgMy4wOTc2MyAxMy4zMTY2IDIuNzA3MTEgMTMuNzA3MUMyLjMxNjU4IDE0LjA5NzYgMS42ODM0MiAxNC4wOTc2IDEuMjkyODkgMTMuNzA3MUwwLjI5Mjg5MyAxMi43MDcxQy0wLjA5NzYzMTEgMTIuMzE2NiAtMC4wOTc2MzExIDExLjY4MzQgMC4yOTI4OTMgMTEuMjkyOUwxMS4yOTI5IDAuMjkyODkzWiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC41Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDBfOTE3XzI0NTgiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IndoaXRlIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+");
68
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzkxN18yNDU4KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi43MDcxIDE2LjcwNzFMMTYuNzA3MSAxMi43MDcxQzE3LjA5NzYgMTIuMzE2NiAxNy4wOTc2IDExLjY4MzQgMTYuNzA3MSAxMS4yOTI5TDEyLjcwNzEgNy4yOTI4OUMxMi4zMTY2IDYuOTAyMzcgMTEuNjgzNCA2LjkwMjM3IDExLjI5MjkgNy4yOTI4OUMxMC45MDI0IDcuNjgzNDIgMTAuOTAyNCA4LjMxNjU4IDExLjI5MjkgOC43MDcxMUwxMy41ODU4IDExTDkuMDkwOTEgMTFDNi4zMTc4NSAxMSA0IDEzLjE2ODggNCAxNS45Mjg2TDQgMjNDNCAyMy41NTIzIDQuNDQ3NzIgMjQgNSAyNEM1LjU1MjI5IDI0IDYgMjMuNTUyMyA2IDIzTDYgMTUuOTI4NkM2IDE0LjM0ODkgNy4zNDUzMiAxMyA5LjA5MDkxIDEzTDEzLjU4NTggMTNMMTEuMjkyOSAxNS4yOTI5QzEwLjkwMjQgMTUuNjgzNCAxMC45MDI0IDE2LjMxNjYgMTEuMjkyOSAxNi43MDcxQzExLjY4MzQgMTcuMDk3NiAxMi4zMTY2IDE3LjA5NzYgMTIuNzA3MSAxNi43MDcxWiIgZmlsbD0iYmxhY2siLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjI5MjkgMC4yOTI4OTNDMTEuNjgzNCAtMC4wOTc2MzExIDEyLjMxNjYgLTAuMDk3NjMxMSAxMi43MDcxIDAuMjkyODkzTDIzLjcwNzEgMTEuMjkyOUMyNC4wOTc2IDExLjY4MzQgMjQuMDk3NiAxMi4zMTY2IDIzLjcwNzEgMTIuNzA3MUwxMi43MDcxIDIzLjcwNzFDMTIuNTE5NiAyMy44OTQ2IDEyLjI2NTIgMjQgMTIgMjRDMTEuNzM0OCAyNCAxMS40ODA0IDIzLjg5NDYgMTEuMjkyOSAyMy43MDcxTDcuNDQyODkgMTkuODU3MUM3LjA1MjM3IDE5LjQ2NjYgNy4wNTIzNyAxOC44MzM0IDcuNDQyODkgMTguNDQyOUM3LjgzMzQyIDE4LjA1MjQgOC40NjY1OCAxOC4wNTI0IDguODU3MTEgMTguNDQyOUwxMiAyMS41ODU4TDIxLjU4NTggMTJMMTIgMi40MTQyMUwyLjQxNDIxIDEyTDIuNzA3MTEgMTIuMjkyOUMzLjA5NzYzIDEyLjY4MzQgMy4wOTc2MyAxMy4zMTY2IDIuNzA3MTEgMTMuNzA3MUMyLjMxNjU4IDE0LjA5NzYgMS42ODM0MiAxNC4wOTc2IDEuMjkyODkgMTMuNzA3MUwwLjI5Mjg5MyAxMi43MDcxQy0wLjA5NzYzMTEgMTIuMzE2NiAtMC4wOTc2MzExIDExLjY4MzQgMC4yOTI4OTMgMTEuMjkyOUwxMS4yOTI5IDAuMjkyODkzWiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC41Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDBfOTE3XzI0NTgiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IndoaXRlIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+");
63
69
  }
64
70
 
65
71
  .print-pdf-button{
66
72
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNMy4zMDQ5MyAyMC4wNTQ5SDQuNzU4MDZDNS40Mzc3NCAyMC4wNTQ5IDYuMDE5NzggMTkuOTQzNiA2LjUwNDE1IDE5LjcyMDlDNi45OTI0MyAxOS40OTQ0IDcuMzY1NDggMTkuMTc4IDcuNjIzMjkgMTguNzcxN0M3Ljg4NTAxIDE4LjM2NTUgOC4wMTU4NyAxNy44ODcgOC4wMTU4NyAxNy4zMzYyQzguMDE1ODcgMTYuNzg1NCA3Ljg4NTAxIDE2LjI5NzEgNy42MjMyOSAxNS44NzEzQzcuMzY1NDggMTUuNDQxNyA2Ljk5MjQzIDE1LjEwMzggNi41MDQxNSAxNC44NTc3QzYuMDE5NzggMTQuNjExNiA1LjQzNzc0IDE0LjQ4ODUgNC43NTgwNiAxNC40ODg1SDEuMzk0NzhWMjMuMDE5OEgzLjMwNDkzVjIwLjA1NDlaTTMuMzA0OTMgMTguNTcyNVYxNS45NzA5SDQuNzU4MDZDNS4wNzQ0NiAxNS45NzA5IDUuMzI4MzcgMTYuMDM1NCA1LjUxOTc4IDE2LjE2NDNDNS43MTUwOSAxNi4yOTMyIDUuODU3NjcgMTYuNDYzMSA1Ljk0NzUxIDE2LjY3NDFDNi4wNDEyNiAxNi44ODExIDYuMDg4MTMgMTcuMTA1NyA2LjA4ODEzIDE3LjM0NzlDNi4wODgxMyAxNy41ODIzIDYuMDQxMjYgMTcuNzkzMiA1Ljk0NzUxIDE3Ljk4MDdDNS44NTc2NyAxOC4xNjQzIDUuNzE1MDkgMTguMzA4OCA1LjUxOTc4IDE4LjQxNDNDNS4zMjgzNyAxOC41MTk4IDUuMDc0NDYgMTguNTcyNSA0Ljc1ODA2IDE4LjU3MjVIMy4zMDQ5M1pNMTEuMzI2MiAyMy4wMTk4SDEyLjExNzJDMTIuNjkxNCAyMy4wMTk4IDEzLjIxNjggMjIuOTIyMSAxMy42OTM0IDIyLjcyNjhDMTQuMTY5OSAyMi41MzE1IDE0LjU4MiAyMi4yNTQyIDE0LjkyOTcgMjEuODk0OEMxNS4yODEzIDIxLjUzMTUgMTUuNTUyNyAyMS4xMDE4IDE1Ljc0NDIgMjAuNjA1N0MxNS45MzU2IDIwLjEwNTcgMTYuMDMxMyAxOS41NTMgMTYuMDMxMyAxOC45NDc1VjE4LjU2NjdDMTYuMDMxMyAxNy45NTczIDE1LjkzNTYgMTcuNDA0NSAxNS43NDQyIDE2LjkwODRDMTUuNTUyNyAxNi40MTI0IDE1LjI4MTMgMTUuOTgyNyAxNC45Mjk3IDE1LjYxOTRDMTQuNTgyIDE1LjI1NjEgMTQuMTY4IDE0Ljk3NjggMTMuNjg3NSAxNC43ODE1QzEzLjIxMDkgMTQuNTg2MiAxMi42ODM2IDE0LjQ4ODUgMTIuMTA1NSAxNC40ODg1SDExLjMyNjJIMTAuMjA3SDkuNDE2MDNWMjMuMDE5OEgxMC4yNDIySDExLjMyNjJaTTExLjMyNjIgMjEuNTQzMkgxMi4xMTcyQzEyLjU0MyAyMS41NDMyIDEyLjkwMjQgMjEuNDQ1NiAxMy4xOTUzIDIxLjI1MDJDMTMuNDg4MyAyMS4wNTEgMTMuNzEwOSAyMC43NTgxIDEzLjg2MzMgMjAuMzcxM0MxNC4wMTU2IDE5Ljk4MDcgMTQuMDkxOCAxOS41MDYxIDE0LjA5MTggMTguOTQ3NVYxOC41NTQ5QzE0LjA5MTggMTguMTMzMSAxNC4wNDg4IDE3Ljc2MiAxMy45NjI5IDE3LjQ0MTdDMTMuODc3IDE3LjExNzQgMTMuNzUgMTYuODQ1OSAxMy41ODIgMTYuNjI3MkMxMy40MTQxIDE2LjQwODQgMTMuMjA1MSAxNi4yNDQ0IDEyLjk1NTEgMTYuMTM1QzEyLjcwOSAxNi4wMjU2IDEyLjQyNTggMTUuOTcwOSAxMi4xMDU1IDE1Ljk3MDlIMTEuMzI2MlYyMS41NDMyWk0xOS4zNDc0IDE4LjA4NjJWMTUuOTcwOUgyMy4wNzk5VjE0LjQ4ODVIMTkuMzQ3NEgxOC44MTQySDE3LjQzNzNWMjMuMDE5OEgxOS4zNDc0VjE5LjU2MjdIMjIuNzA0OVYxOC4wODYySDE5LjM0NzRaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
73
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNMy4zMDQ5MyAyMC4wNTQ5SDQuNzU4MDZDNS40Mzc3NCAyMC4wNTQ5IDYuMDE5NzggMTkuOTQzNiA2LjUwNDE1IDE5LjcyMDlDNi45OTI0MyAxOS40OTQ0IDcuMzY1NDggMTkuMTc4IDcuNjIzMjkgMTguNzcxN0M3Ljg4NTAxIDE4LjM2NTUgOC4wMTU4NyAxNy44ODcgOC4wMTU4NyAxNy4zMzYyQzguMDE1ODcgMTYuNzg1NCA3Ljg4NTAxIDE2LjI5NzEgNy42MjMyOSAxNS44NzEzQzcuMzY1NDggMTUuNDQxNyA2Ljk5MjQzIDE1LjEwMzggNi41MDQxNSAxNC44NTc3QzYuMDE5NzggMTQuNjExNiA1LjQzNzc0IDE0LjQ4ODUgNC43NTgwNiAxNC40ODg1SDEuMzk0NzhWMjMuMDE5OEgzLjMwNDkzVjIwLjA1NDlaTTMuMzA0OTMgMTguNTcyNVYxNS45NzA5SDQuNzU4MDZDNS4wNzQ0NiAxNS45NzA5IDUuMzI4MzcgMTYuMDM1NCA1LjUxOTc4IDE2LjE2NDNDNS43MTUwOSAxNi4yOTMyIDUuODU3NjcgMTYuNDYzMSA1Ljk0NzUxIDE2LjY3NDFDNi4wNDEyNiAxNi44ODExIDYuMDg4MTMgMTcuMTA1NyA2LjA4ODEzIDE3LjM0NzlDNi4wODgxMyAxNy41ODIzIDYuMDQxMjYgMTcuNzkzMiA1Ljk0NzUxIDE3Ljk4MDdDNS44NTc2NyAxOC4xNjQzIDUuNzE1MDkgMTguMzA4OCA1LjUxOTc4IDE4LjQxNDNDNS4zMjgzNyAxOC41MTk4IDUuMDc0NDYgMTguNTcyNSA0Ljc1ODA2IDE4LjU3MjVIMy4zMDQ5M1pNMTEuMzI2MiAyMy4wMTk4SDEyLjExNzJDMTIuNjkxNCAyMy4wMTk4IDEzLjIxNjggMjIuOTIyMSAxMy42OTM0IDIyLjcyNjhDMTQuMTY5OSAyMi41MzE1IDE0LjU4MiAyMi4yNTQyIDE0LjkyOTcgMjEuODk0OEMxNS4yODEzIDIxLjUzMTUgMTUuNTUyNyAyMS4xMDE4IDE1Ljc0NDIgMjAuNjA1N0MxNS45MzU2IDIwLjEwNTcgMTYuMDMxMyAxOS41NTMgMTYuMDMxMyAxOC45NDc1VjE4LjU2NjdDMTYuMDMxMyAxNy45NTczIDE1LjkzNTYgMTcuNDA0NSAxNS43NDQyIDE2LjkwODRDMTUuNTUyNyAxNi40MTI0IDE1LjI4MTMgMTUuOTgyNyAxNC45Mjk3IDE1LjYxOTRDMTQuNTgyIDE1LjI1NjEgMTQuMTY4IDE0Ljk3NjggMTMuNjg3NSAxNC43ODE1QzEzLjIxMDkgMTQuNTg2MiAxMi42ODM2IDE0LjQ4ODUgMTIuMTA1NSAxNC40ODg1SDExLjMyNjJIMTAuMjA3SDkuNDE2MDNWMjMuMDE5OEgxMC4yNDIySDExLjMyNjJaTTExLjMyNjIgMjEuNTQzMkgxMi4xMTcyQzEyLjU0MyAyMS41NDMyIDEyLjkwMjQgMjEuNDQ1NiAxMy4xOTUzIDIxLjI1MDJDMTMuNDg4MyAyMS4wNTEgMTMuNzEwOSAyMC43NTgxIDEzLjg2MzMgMjAuMzcxM0MxNC4wMTU2IDE5Ljk4MDcgMTQuMDkxOCAxOS41MDYxIDE0LjA5MTggMTguOTQ3NVYxOC41NTQ5QzE0LjA5MTggMTguMTMzMSAxNC4wNDg4IDE3Ljc2MiAxMy45NjI5IDE3LjQ0MTdDMTMuODc3IDE3LjExNzQgMTMuNzUgMTYuODQ1OSAxMy41ODIgMTYuNjI3MkMxMy40MTQxIDE2LjQwODQgMTMuMjA1MSAxNi4yNDQ0IDEyLjk1NTEgMTYuMTM1QzEyLjcwOSAxNi4wMjU2IDEyLjQyNTggMTUuOTcwOSAxMi4xMDU1IDE1Ljk3MDlIMTEuMzI2MlYyMS41NDMyWk0xOS4zNDc0IDE4LjA4NjJWMTUuOTcwOUgyMy4wNzk5VjE0LjQ4ODVIMTkuMzQ3NEgxOC44MTQySDE3LjQzNzNWMjMuMDE5OEgxOS4zNDc0VjE5LjU2MjdIMjIuNzA0OVYxOC4wODYySDE5LjM0NzRaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
67
74
  }
68
75
 
69
76
  .masked-system-button{
70
77
  padding: 0 !important;
71
78
  background-color: #3d6780;
72
79
  mask-size: 100%;
80
+ -webkit-mask-size: 100%;
73
81
  mask-repeat: no-repeat;
82
+ -webkit-mask-repeat: no-repeat;
74
83
  }
75
84
 
76
85
  .print-excel-button{
77
86
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNNC43ODE0OSAxNy4zOTQ4TDMuMjgxNDkgMTQuNDg4NUgxLjEwMTgxTDMuNTMzNDUgMTguNzE5TDEuMDM3MzUgMjMuMDE5OEgzLjI0MDQ4TDQuNzgxNDkgMjAuMDYwOEw2LjMyODM3IDIzLjAxOThIOC41MjU2M0w2LjAzNTQgMTguNzE5TDguNDYxMTggMTQuNDg4NUg2LjI4MTQ5TDQuNzgxNDkgMTcuMzk0OFpNMTUuMTExMyAyMy4wMTk4VjIxLjU0MzJIMTEuNDU1MVYxNC40ODg1SDkuNTQ0OTNWMjMuMDE5OEgxMC44MDQ3SDExLjQ1NTFIMTUuMTExM1pNMjAuNjQ4MiAyMC4zODMxQzIwLjY5MTIgMjAuNDk2MyAyMC43MTI3IDIwLjYyNTIgMjAuNzEyNyAyMC43Njk4QzIwLjcxMjcgMjAuOTQxNyAyMC42Njk3IDIxLjA5NzkgMjAuNTgzOCAyMS4yMzg1QzIwLjQ5NzggMjEuMzc5MiAyMC4zNjUgMjEuNDkwNSAyMC4xODUzIDIxLjU3MjVDMjAuMDA5NSAyMS42NTA2IDE5Ljc3OTEgMjEuNjg5NyAxOS40OTM5IDIxLjY4OTdDMTkuMjQ3OCAyMS42ODk3IDE5LjAyNTIgMjEuNjY2MyAxOC44MjU5IDIxLjYxOTRDMTguNjI2NyAyMS41NzI1IDE4LjQ1NjggMjEuNDk0NCAxOC4zMTYyIDIxLjM4NUMxOC4xNzk1IDIxLjI3NTYgMTguMDc0IDIxLjEzMzEgMTcuOTk5OCAyMC45NTczQzE3LjkyNTYgMjAuNzc3NiAxNy44ODg0IDIwLjU1ODggMTcuODg4NCAyMC4zMDFIMTUuOTc4M0MxNS45NzgzIDIwLjc5MzIgMTYuMDc3OSAyMS4yMTkgMTYuMjc3MSAyMS41Nzg0QzE2LjQ4MDIgMjEuOTMzOCAxNi43NDk4IDIyLjIyNjggMTcuMDg1NyAyMi40NTczQzE3LjQyNTYgMjIuNjg3NyAxNy44MDQ1IDIyLjg1OTYgMTguMjIyNCAyMi45NzI5QzE4LjY0MDQgMjMuMDgyMyAxOS4wNjQyIDIzLjEzNyAxOS40OTM5IDIzLjEzN0MxOS45NjY2IDIzLjEzNyAyMC4zOTQzIDIzLjA4NDIgMjAuNzc3MSAyMi45Nzg4QzIxLjE1OTkgMjIuODczMyAyMS40ODgxIDIyLjcxOSAyMS43NjE1IDIyLjUxNTlDMjIuMDM4OCAyMi4zMDg4IDIyLjI0OTggMjIuMDU4OCAyMi4zOTQzIDIxLjc2NTlDMjIuNTQyNyAyMS40NzI5IDIyLjYxNyAyMS4xMzcgMjIuNjE3IDIwLjc1ODFDMjIuNjE3IDIwLjQwMjYgMjIuNTU0NSAyMC4wODQyIDIyLjQyOTUgMTkuODAzQzIyLjMwODQgMTkuNTIxNyAyMi4xMjY3IDE5LjI2OTggMjEuODg0NSAxOS4wNDcxQzIxLjY0MjQgMTguODI0NSAyMS4zNDM1IDE4LjYyNTIgMjAuOTg4MSAxOC40NDk1QzIwLjYzNjUgMTguMjczNyAyMC4yMzIyIDE4LjExMzUgMTkuNzc1MiAxNy45NjlDMTkuNTEzNCAxNy44OTA5IDE5LjI4MSAxNy44MDg4IDE5LjA3NzkgMTcuNzIyOUMxOC44NzQ4IDE3LjYzNyAxOC43MDI5IDE3LjU0NzEgMTguNTYyMyAxNy40NTM0QzE4LjQyNTYgMTcuMzU1NyAxOC4zMjAxIDE3LjI1MjIgMTguMjQ1OSAxNy4xNDI4QzE4LjE3NTYgMTcuMDI5NSAxOC4xNDA0IDE2LjkwNDUgMTguMTQwNCAxNi43Njc4QzE4LjE0MDQgMTYuNTk1OSAxOC4xODczIDE2LjQzNzcgMTguMjgxIDE2LjI5MzJDMTguMzc4NyAxNi4xNDg3IDE4LjUyMTMgMTYuMDM1NCAxOC43MDg4IDE1Ljk1MzRDMTguOTAwMiAxNS44Njc0IDE5LjEzNjUgMTUuODI0NSAxOS40MTc3IDE1LjgyNDVDMTkuNzA2OCAxNS44MjQ1IDE5Ljk0NyAxNS44NzUyIDIwLjEzODQgMTUuOTc2OEMyMC4zMzM4IDE2LjA3ODQgMjAuNDc4MyAxNi4yMTkgMjAuNTcyIDE2LjM5ODdDMjAuNjY5NyAxNi41NzQ1IDIwLjcxODUgMTYuNzc3NiAyMC43MTg1IDE3LjAwODFIMjIuNjE3QzIyLjYxNyAxNi40ODQ2IDIyLjQ4NDEgMTYuMDI1NiAyMi4yMTg1IDE1LjYzMTFDMjEuOTUyOSAxNS4yMzI3IDIxLjU4MTggMTQuOTI0MSAyMS4xMDUyIDE0LjcwNTNDMjAuNjMyNiAxNC40ODI3IDIwLjA4MzggMTQuMzcxMyAxOS40NTg4IDE0LjM3MTNDMTguOTkgMTQuMzcxMyAxOC41NjAzIDE0LjQyOCAxOC4xNjk3IDE0LjU0MTNDMTcuNzc5MSAxNC42NTA2IDE3LjQzOTIgMTQuODEwOCAxNy4xNTAyIDE1LjAyMTdDMTYuODYxMSAxNS4yMjg4IDE2LjYzNjUgMTUuNDc4OCAxNi40NzYzIDE1Ljc3MTdDMTYuMzE2MiAxNi4wNjQ3IDE2LjIzNjEgMTYuMzkyOCAxNi4yMzYxIDE2Ljc1NjFDMTYuMjM2MSAxNy4xMzExIDE2LjMxMjMgMTcuNDU5MiAxNi40NjQ2IDE3Ljc0MDVDMTYuNjIwOSAxOC4wMjE3IDE2LjgzMzggMTguMjY3OCAxNy4xMDMzIDE4LjQ3ODhDMTcuMzcyOCAxOC42ODk3IDE3LjY3OTUgMTguODc1MiAxOC4wMjMyIDE5LjAzNTRDMTguMzcwOSAxOS4xOTE3IDE4LjczNjEgMTkuMzMyMyAxOS4xMTg5IDE5LjQ1NzNDMTkuNDU0OSAxOS41NjI3IDE5LjcyNjMgMTkuNjY2MyAxOS45MzM0IDE5Ljc2NzhDMjAuMTQwNCAxOS44NjU1IDIwLjMwMDYgMTkuOTYzMSAyMC40MTM4IDIwLjA2MDhDMjAuNTI3MSAyMC4xNTg0IDIwLjYwNTIgMjAuMjY1OSAyMC42NDgyIDIwLjM4MzFaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
87
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNNC43ODE0OSAxNy4zOTQ4TDMuMjgxNDkgMTQuNDg4NUgxLjEwMTgxTDMuNTMzNDUgMTguNzE5TDEuMDM3MzUgMjMuMDE5OEgzLjI0MDQ4TDQuNzgxNDkgMjAuMDYwOEw2LjMyODM3IDIzLjAxOThIOC41MjU2M0w2LjAzNTQgMTguNzE5TDguNDYxMTggMTQuNDg4NUg2LjI4MTQ5TDQuNzgxNDkgMTcuMzk0OFpNMTUuMTExMyAyMy4wMTk4VjIxLjU0MzJIMTEuNDU1MVYxNC40ODg1SDkuNTQ0OTNWMjMuMDE5OEgxMC44MDQ3SDExLjQ1NTFIMTUuMTExM1pNMjAuNjQ4MiAyMC4zODMxQzIwLjY5MTIgMjAuNDk2MyAyMC43MTI3IDIwLjYyNTIgMjAuNzEyNyAyMC43Njk4QzIwLjcxMjcgMjAuOTQxNyAyMC42Njk3IDIxLjA5NzkgMjAuNTgzOCAyMS4yMzg1QzIwLjQ5NzggMjEuMzc5MiAyMC4zNjUgMjEuNDkwNSAyMC4xODUzIDIxLjU3MjVDMjAuMDA5NSAyMS42NTA2IDE5Ljc3OTEgMjEuNjg5NyAxOS40OTM5IDIxLjY4OTdDMTkuMjQ3OCAyMS42ODk3IDE5LjAyNTIgMjEuNjY2MyAxOC44MjU5IDIxLjYxOTRDMTguNjI2NyAyMS41NzI1IDE4LjQ1NjggMjEuNDk0NCAxOC4zMTYyIDIxLjM4NUMxOC4xNzk1IDIxLjI3NTYgMTguMDc0IDIxLjEzMzEgMTcuOTk5OCAyMC45NTczQzE3LjkyNTYgMjAuNzc3NiAxNy44ODg0IDIwLjU1ODggMTcuODg4NCAyMC4zMDFIMTUuOTc4M0MxNS45NzgzIDIwLjc5MzIgMTYuMDc3OSAyMS4yMTkgMTYuMjc3MSAyMS41Nzg0QzE2LjQ4MDIgMjEuOTMzOCAxNi43NDk4IDIyLjIyNjggMTcuMDg1NyAyMi40NTczQzE3LjQyNTYgMjIuNjg3NyAxNy44MDQ1IDIyLjg1OTYgMTguMjIyNCAyMi45NzI5QzE4LjY0MDQgMjMuMDgyMyAxOS4wNjQyIDIzLjEzNyAxOS40OTM5IDIzLjEzN0MxOS45NjY2IDIzLjEzNyAyMC4zOTQzIDIzLjA4NDIgMjAuNzc3MSAyMi45Nzg4QzIxLjE1OTkgMjIuODczMyAyMS40ODgxIDIyLjcxOSAyMS43NjE1IDIyLjUxNTlDMjIuMDM4OCAyMi4zMDg4IDIyLjI0OTggMjIuMDU4OCAyMi4zOTQzIDIxLjc2NTlDMjIuNTQyNyAyMS40NzI5IDIyLjYxNyAyMS4xMzcgMjIuNjE3IDIwLjc1ODFDMjIuNjE3IDIwLjQwMjYgMjIuNTU0NSAyMC4wODQyIDIyLjQyOTUgMTkuODAzQzIyLjMwODQgMTkuNTIxNyAyMi4xMjY3IDE5LjI2OTggMjEuODg0NSAxOS4wNDcxQzIxLjY0MjQgMTguODI0NSAyMS4zNDM1IDE4LjYyNTIgMjAuOTg4MSAxOC40NDk1QzIwLjYzNjUgMTguMjczNyAyMC4yMzIyIDE4LjExMzUgMTkuNzc1MiAxNy45NjlDMTkuNTEzNCAxNy44OTA5IDE5LjI4MSAxNy44MDg4IDE5LjA3NzkgMTcuNzIyOUMxOC44NzQ4IDE3LjYzNyAxOC43MDI5IDE3LjU0NzEgMTguNTYyMyAxNy40NTM0QzE4LjQyNTYgMTcuMzU1NyAxOC4zMjAxIDE3LjI1MjIgMTguMjQ1OSAxNy4xNDI4QzE4LjE3NTYgMTcuMDI5NSAxOC4xNDA0IDE2LjkwNDUgMTguMTQwNCAxNi43Njc4QzE4LjE0MDQgMTYuNTk1OSAxOC4xODczIDE2LjQzNzcgMTguMjgxIDE2LjI5MzJDMTguMzc4NyAxNi4xNDg3IDE4LjUyMTMgMTYuMDM1NCAxOC43MDg4IDE1Ljk1MzRDMTguOTAwMiAxNS44Njc0IDE5LjEzNjUgMTUuODI0NSAxOS40MTc3IDE1LjgyNDVDMTkuNzA2OCAxNS44MjQ1IDE5Ljk0NyAxNS44NzUyIDIwLjEzODQgMTUuOTc2OEMyMC4zMzM4IDE2LjA3ODQgMjAuNDc4MyAxNi4yMTkgMjAuNTcyIDE2LjM5ODdDMjAuNjY5NyAxNi41NzQ1IDIwLjcxODUgMTYuNzc3NiAyMC43MTg1IDE3LjAwODFIMjIuNjE3QzIyLjYxNyAxNi40ODQ2IDIyLjQ4NDEgMTYuMDI1NiAyMi4yMTg1IDE1LjYzMTFDMjEuOTUyOSAxNS4yMzI3IDIxLjU4MTggMTQuOTI0MSAyMS4xMDUyIDE0LjcwNTNDMjAuNjMyNiAxNC40ODI3IDIwLjA4MzggMTQuMzcxMyAxOS40NTg4IDE0LjM3MTNDMTguOTkgMTQuMzcxMyAxOC41NjAzIDE0LjQyOCAxOC4xNjk3IDE0LjU0MTNDMTcuNzc5MSAxNC42NTA2IDE3LjQzOTIgMTQuODEwOCAxNy4xNTAyIDE1LjAyMTdDMTYuODYxMSAxNS4yMjg4IDE2LjYzNjUgMTUuNDc4OCAxNi40NzYzIDE1Ljc3MTdDMTYuMzE2MiAxNi4wNjQ3IDE2LjIzNjEgMTYuMzkyOCAxNi4yMzYxIDE2Ljc1NjFDMTYuMjM2MSAxNy4xMzExIDE2LjMxMjMgMTcuNDU5MiAxNi40NjQ2IDE3Ljc0MDVDMTYuNjIwOSAxOC4wMjE3IDE2LjgzMzggMTguMjY3OCAxNy4xMDMzIDE4LjQ3ODhDMTcuMzcyOCAxOC42ODk3IDE3LjY3OTUgMTguODc1MiAxOC4wMjMyIDE5LjAzNTRDMTguMzcwOSAxOS4xOTE3IDE4LjczNjEgMTkuMzMyMyAxOS4xMTg5IDE5LjQ1NzNDMTkuNDU0OSAxOS41NjI3IDE5LjcyNjMgMTkuNjY2MyAxOS45MzM0IDE5Ljc2NzhDMjAuMTQwNCAxOS44NjU1IDIwLjMwMDYgMTkuOTYzMSAyMC40MTM4IDIwLjA2MDhDMjAuNTI3MSAyMC4xNTg0IDIwLjYwNTIgMjAuMjY1OSAyMC42NDgyIDIwLjM4MzFaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
78
88
  }
79
89
 
80
90
  .print-csv-button{
81
91
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNNy42NjQzMSAyMC4xNjA0SDUuNzY1ODdDNS43NDYzNCAyMC40OTI0IDUuNjc2MDMgMjAuNzY3OCA1LjU1NDkzIDIwLjk4NjZDNS40MzM4NCAyMS4yMDUzIDUuMjYwMDEgMjEuMzY5NCA1LjAzMzQ1IDIxLjQ3ODhDNC44MDY4OCAyMS41ODQyIDQuNTIzNjggMjEuNjM3IDQuMTgzODQgMjEuNjM3QzMuODg2OTYgMjEuNjM3IDMuNjM1MDEgMjEuNTg0MiAzLjQyNzk4IDIxLjQ3ODhDMy4yMjA5NSAyMS4zNzMzIDMuMDUxMDMgMjEuMjEzMSAyLjkxODIxIDIwLjk5ODNDMi43ODkzMSAyMC43ODM0IDIuNjk1NTYgMjAuNTEyIDIuNjM2OTYgMjAuMTgzOEMyLjU3ODM3IDE5Ljg1NTcgMi41NDkwNyAxOS40NjcgMi41NDkwNyAxOS4wMTc4VjE4LjQ4NDZDMi41NDkwNyAxOC4wMzE1IDIuNTgyMjggMTcuNjQwOSAyLjY0ODY4IDE3LjMxMjdDMi43MTUwOSAxNi45ODA3IDIuODE0NyAxNi43MDczIDIuOTQ3NTEgMTYuNDkyNEMzLjA4NDIzIDE2LjI3NzYgMy4yNTQxNSAxNi4xMTk0IDMuNDU3MjggMTYuMDE3OEMzLjY2NDMxIDE1LjkxNjMgMy45MDQ1NCAxNS44NjU1IDQuMTc3OTggMTUuODY1NUM0LjU1Mjk4IDE1Ljg2NTUgNC44NTM3NiAxNS45MjQxIDUuMDgwMzIgMTYuMDQxM0M1LjMwNjg4IDE2LjE1ODQgNS40NzQ4NSAxNi4zMzIzIDUuNTg0MjMgMTYuNTYyN0M1LjY5MzYgMTYuNzg5MyA1Ljc1NjEgMTcuMDY4NiA1Ljc3MTczIDE3LjQwMDZINy42NzYwM0M3LjYyMTM0IDE2LjgxNDcgNy40NTUzMiAxNi4yOTMyIDcuMTc3OTggMTUuODM2MkM2LjkwNDU0IDE1LjM3OTIgNi41MTc4MiAxNS4wMTk4IDYuMDE3ODIgMTQuNzU4MUM1LjUxNzgyIDE0LjQ5NjMgNC45MDQ1NCAxNC4zNjU1IDQuMTc3OTggMTQuMzY1NUMzLjYzODkyIDE0LjM2NTUgMy4xNTA2MyAxNC40NjEyIDIuNzEzMTMgMTQuNjUyNkMyLjI3NTYzIDE0Ljg0NCAxLjkwMDYzIDE1LjExOTQgMS41ODgxMyAxNS40Nzg4QzEuMjc1NjMgMTUuODM4MSAxLjAzNTQgMTYuMjcxNyAwLjg2NzQzMiAxNi43Nzk1QzAuNjk5NDYzIDE3LjI4NzQgMC42MTU0NzkgMTcuODU5NiAwLjYxNTQ3OSAxOC40OTYzVjE5LjAxNzhDMC42MTU0NzkgMTkuNjU0NSAwLjY5NTU1NyAyMC4yMjY4IDAuODU1NzEzIDIwLjczNDZDMS4wMTk3OCAyMS4yMzg1IDEuMjU0MTUgMjEuNjcwMiAxLjU1ODg0IDIyLjAyOTVDMS44Njc0MyAyMi4zODUgMi4yNDI0MyAyMi42NTg0IDIuNjgzODQgMjIuODQ5OUMzLjEyNTI0IDIzLjA0MTMgMy42MjUyNCAyMy4xMzcgNC4xODM4NCAyMy4xMzdDNC44ODMwNiAyMy4xMzcgNS40ODY1NyAyMy4wMTIgNS45OTQzOCAyMi43NjJDNi41MDIyIDIyLjUwODEgNi44OTg2OCAyMi4xNTg0IDcuMTgzODQgMjEuNzEzMUM3LjQ3MjkgMjEuMjYzOSA3LjYzMzA2IDIwLjc0NjMgNy42NjQzMSAyMC4xNjA0Wk0xMy4zMjQyIDIwLjM4MzFDMTMuMzY3MiAyMC40OTYzIDEzLjM4ODcgMjAuNjI1MiAxMy4zODg3IDIwLjc2OThDMTMuMzg4NyAyMC45NDE3IDEzLjM0NTcgMjEuMDk3OSAxMy4yNTk4IDIxLjIzODVDMTMuMTczOCAyMS4zNzkyIDEzLjA0MSAyMS40OTA1IDEyLjg2MTMgMjEuNTcyNUMxMi42ODU2IDIxLjY1MDYgMTIuNDU1MSAyMS42ODk3IDEyLjE2OTkgMjEuNjg5N0MxMS45MjM4IDIxLjY4OTcgMTEuNzAxMiAyMS42NjYzIDExLjUwMiAyMS42MTk0QzExLjMwMjcgMjEuNTcyNSAxMS4xMzI4IDIxLjQ5NDQgMTAuOTkyMiAyMS4zODVDMTAuODU1NSAyMS4yNzU2IDEwLjc1IDIxLjEzMzEgMTAuNjc1OCAyMC45NTczQzEwLjYwMTYgMjAuNzc3NiAxMC41NjQ1IDIwLjU1ODggMTAuNTY0NSAyMC4zMDFIOC42NTQzMUM4LjY1NDMxIDIwLjc5MzIgOC43NTM5MiAyMS4yMTkgOC45NTMxMyAyMS41Nzg0QzkuMTU2MjYgMjEuOTMzOCA5LjQyNTc5IDIyLjIyNjggOS43NjE3MyAyMi40NTczQzEwLjEwMTYgMjIuNjg3NyAxMC40ODA1IDIyLjg1OTYgMTAuODk4NCAyMi45NzI5QzExLjMxNjQgMjMuMDgyMyAxMS43NDAyIDIzLjEzNyAxMi4xNjk5IDIzLjEzN0MxMi42NDI2IDIzLjEzNyAxMy4wNzAzIDIzLjA4NDIgMTMuNDUzMSAyMi45Nzg4QzEzLjgzNTkgMjIuODczMyAxNC4xNjQxIDIyLjcxOSAxNC40Mzc1IDIyLjUxNTlDMTQuNzE0OSAyMi4zMDg4IDE0LjkyNTggMjIuMDU4OCAxNS4wNzAzIDIxLjc2NTlDMTUuMjE4OCAyMS40NzI5IDE1LjI5MyAyMS4xMzcgMTUuMjkzIDIwLjc1ODFDMTUuMjkzIDIwLjQwMjYgMTUuMjMwNSAyMC4wODQyIDE1LjEwNTUgMTkuODAzQzE0Ljk4NDQgMTkuNTIxNyAxNC44MDI3IDE5LjI2OTggMTQuNTYwNiAxOS4wNDcxQzE0LjMxODQgMTguODI0NSAxNC4wMTk1IDE4LjYyNTIgMTMuNjY0MSAxOC40NDk1QzEzLjMxMjUgMTguMjczNyAxMi45MDgyIDE4LjExMzUgMTIuNDUxMiAxNy45NjlDMTIuMTg5NSAxNy44OTA5IDExLjk1NyAxNy44MDg4IDExLjc1MzkgMTcuNzIyOUMxMS41NTA4IDE3LjYzNyAxMS4zNzg5IDE3LjU0NzEgMTEuMjM4MyAxNy40NTM0QzExLjEwMTYgMTcuMzU1NyAxMC45OTYxIDE3LjI1MjIgMTAuOTIxOSAxNy4xNDI4QzEwLjg1MTYgMTcuMDI5NSAxMC44MTY0IDE2LjkwNDUgMTAuODE2NCAxNi43Njc4QzEwLjgxNjQgMTYuNTk1OSAxMC44NjMzIDE2LjQzNzcgMTAuOTU3IDE2LjI5MzJDMTEuMDU0NyAxNi4xNDg3IDExLjE5NzMgMTYuMDM1NCAxMS4zODQ4IDE1Ljk1MzRDMTEuNTc2MiAxNS44Njc0IDExLjgxMjUgMTUuODI0NSAxMi4wOTM4IDE1LjgyNDVDMTIuMzgyOCAxNS44MjQ1IDEyLjYyMzEgMTUuODc1MiAxMi44MTQ1IDE1Ljk3NjhDMTMuMDA5OCAxNi4wNzg0IDEzLjE1NDMgMTYuMjE5IDEzLjI0ODEgMTYuMzk4N0MxMy4zNDU3IDE2LjU3NDUgMTMuMzk0NSAxNi43Nzc2IDEzLjM5NDUgMTcuMDA4MUgxNS4yOTNDMTUuMjkzIDE2LjQ4NDYgMTUuMTYwMiAxNi4wMjU2IDE0Ljg5NDUgMTUuNjMxMUMxNC42Mjg5IDE1LjIzMjcgMTQuMjU3OCAxNC45MjQxIDEzLjc4MTMgMTQuNzA1M0MxMy4zMDg2IDE0LjQ4MjcgMTIuNzU5OCAxNC4zNzEzIDEyLjEzNDggMTQuMzcxM0MxMS42NjYgMTQuMzcxMyAxMS4yMzYzIDE0LjQyOCAxMC44NDU3IDE0LjU0MTNDMTAuNDU1MSAxNC42NTA2IDEwLjExNTIgMTQuODEwOCA5LjgyNjE4IDE1LjAyMTdDOS41MzcxMiAxNS4yMjg4IDkuMzEyNTEgMTUuNDc4OCA5LjE1MjM1IDE1Ljc3MTdDOC45OTIyIDE2LjA2NDcgOC45MTIxMiAxNi4zOTI4IDguOTEyMTIgMTYuNzU2MUM4LjkxMjEyIDE3LjEzMTEgOC45ODgyOSAxNy40NTkyIDkuMTQwNjMgMTcuNzQwNUM5LjI5Njg4IDE4LjAyMTcgOS41MDk3OCAxOC4yNjc4IDkuNzc5MzEgMTguNDc4OEMxMC4wNDg4IDE4LjY4OTcgMTAuMzU1NSAxOC44NzUyIDEwLjY5OTIgMTkuMDM1NEMxMS4wNDY5IDE5LjE5MTcgMTEuNDEyMSAxOS4zMzIzIDExLjc5NDkgMTkuNDU3M0MxMi4xMzA5IDE5LjU2MjcgMTIuNDAyNCAxOS42NjYzIDEyLjYwOTQgMTkuNzY3OEMxMi44MTY0IDE5Ljg2NTUgMTIuOTc2NiAxOS45NjMxIDEzLjA4OTkgMjAuMDYwOEMxMy4yMDMxIDIwLjE1ODQgMTMuMjgxMyAyMC4yNjU5IDEzLjMyNDIgMjAuMzgzMVpNMTkuNTIzMiAyMy4wMTk4SDE4Ljg2N0wxNS45NjA3IDE0LjQ4ODVIMTguMDgxOEwxOS44OTI1IDIwLjgzOTlMMjEuNzA4OCAxNC40ODg1SDIzLjgzNTdMMjAuOTExOSAyMy4wMTk4SDIwLjI3MzJIMTkuNTIzMloiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
92
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMDAxIDAuOTg5OTlDMy40NDc3MiAwLjk4OTk5IDMuMDAwMDEgMS40Mzc3MSAzLjAwMDAxIDEuOTg5OTlWMTAuOTlDMy4wMDAwMSAxMS41NDIzIDMuNDQ3NzIgMTEuOTkgNC4wMDAwMSAxMS45OUM0LjU1MjI5IDExLjk5IDUuMDAwMDEgMTEuNTQyMyA1LjAwMDAxIDEwLjk5VjIuOTg5OTlIMTRWNi45ODk5OUMxNCA3LjU0MjI3IDE0LjQ0NzcgNy45ODk5OSAxNSA3Ljk4OTk5SDE5VjEwLjk5QzE5IDExLjU0MjMgMTkuNDQ3NyAxMS45OSAyMCAxMS45OUMyMC41NTIzIDExLjk5IDIxIDExLjU0MjMgMjEgMTAuOTlWNi45ODk5OUMyMSA2LjcyNDc3IDIwLjg5NDcgNi40NzA0MiAyMC43MDcxIDYuMjgyODhMMTUuNzA3MSAxLjI4Mjg4QzE1LjUxOTYgMS4wOTUzNSAxNS4yNjUyIDAuOTg5OTkgMTUgMC45ODk5OUg0LjAwMDAxWk0xNy41ODU4IDUuOTg5OTlMMTYgNC40MDQyVjUuOTg5OTlIMTcuNTg1OFpNNy42NjQzMSAyMC4xNjA0SDUuNzY1ODdDNS43NDYzNCAyMC40OTI0IDUuNjc2MDMgMjAuNzY3OCA1LjU1NDkzIDIwLjk4NjZDNS40MzM4NCAyMS4yMDUzIDUuMjYwMDEgMjEuMzY5NCA1LjAzMzQ1IDIxLjQ3ODhDNC44MDY4OCAyMS41ODQyIDQuNTIzNjggMjEuNjM3IDQuMTgzODQgMjEuNjM3QzMuODg2OTYgMjEuNjM3IDMuNjM1MDEgMjEuNTg0MiAzLjQyNzk4IDIxLjQ3ODhDMy4yMjA5NSAyMS4zNzMzIDMuMDUxMDMgMjEuMjEzMSAyLjkxODIxIDIwLjk5ODNDMi43ODkzMSAyMC43ODM0IDIuNjk1NTYgMjAuNTEyIDIuNjM2OTYgMjAuMTgzOEMyLjU3ODM3IDE5Ljg1NTcgMi41NDkwNyAxOS40NjcgMi41NDkwNyAxOS4wMTc4VjE4LjQ4NDZDMi41NDkwNyAxOC4wMzE1IDIuNTgyMjggMTcuNjQwOSAyLjY0ODY4IDE3LjMxMjdDMi43MTUwOSAxNi45ODA3IDIuODE0NyAxNi43MDczIDIuOTQ3NTEgMTYuNDkyNEMzLjA4NDIzIDE2LjI3NzYgMy4yNTQxNSAxNi4xMTk0IDMuNDU3MjggMTYuMDE3OEMzLjY2NDMxIDE1LjkxNjMgMy45MDQ1NCAxNS44NjU1IDQuMTc3OTggMTUuODY1NUM0LjU1Mjk4IDE1Ljg2NTUgNC44NTM3NiAxNS45MjQxIDUuMDgwMzIgMTYuMDQxM0M1LjMwNjg4IDE2LjE1ODQgNS40NzQ4NSAxNi4zMzIzIDUuNTg0MjMgMTYuNTYyN0M1LjY5MzYgMTYuNzg5MyA1Ljc1NjEgMTcuMDY4NiA1Ljc3MTczIDE3LjQwMDZINy42NzYwM0M3LjYyMTM0IDE2LjgxNDcgNy40NTUzMiAxNi4yOTMyIDcuMTc3OTggMTUuODM2MkM2LjkwNDU0IDE1LjM3OTIgNi41MTc4MiAxNS4wMTk4IDYuMDE3ODIgMTQuNzU4MUM1LjUxNzgyIDE0LjQ5NjMgNC45MDQ1NCAxNC4zNjU1IDQuMTc3OTggMTQuMzY1NUMzLjYzODkyIDE0LjM2NTUgMy4xNTA2MyAxNC40NjEyIDIuNzEzMTMgMTQuNjUyNkMyLjI3NTYzIDE0Ljg0NCAxLjkwMDYzIDE1LjExOTQgMS41ODgxMyAxNS40Nzg4QzEuMjc1NjMgMTUuODM4MSAxLjAzNTQgMTYuMjcxNyAwLjg2NzQzMiAxNi43Nzk1QzAuNjk5NDYzIDE3LjI4NzQgMC42MTU0NzkgMTcuODU5NiAwLjYxNTQ3OSAxOC40OTYzVjE5LjAxNzhDMC42MTU0NzkgMTkuNjU0NSAwLjY5NTU1NyAyMC4yMjY4IDAuODU1NzEzIDIwLjczNDZDMS4wMTk3OCAyMS4yMzg1IDEuMjU0MTUgMjEuNjcwMiAxLjU1ODg0IDIyLjAyOTVDMS44Njc0MyAyMi4zODUgMi4yNDI0MyAyMi42NTg0IDIuNjgzODQgMjIuODQ5OUMzLjEyNTI0IDIzLjA0MTMgMy42MjUyNCAyMy4xMzcgNC4xODM4NCAyMy4xMzdDNC44ODMwNiAyMy4xMzcgNS40ODY1NyAyMy4wMTIgNS45OTQzOCAyMi43NjJDNi41MDIyIDIyLjUwODEgNi44OTg2OCAyMi4xNTg0IDcuMTgzODQgMjEuNzEzMUM3LjQ3MjkgMjEuMjYzOSA3LjYzMzA2IDIwLjc0NjMgNy42NjQzMSAyMC4xNjA0Wk0xMy4zMjQyIDIwLjM4MzFDMTMuMzY3MiAyMC40OTYzIDEzLjM4ODcgMjAuNjI1MiAxMy4zODg3IDIwLjc2OThDMTMuMzg4NyAyMC45NDE3IDEzLjM0NTcgMjEuMDk3OSAxMy4yNTk4IDIxLjIzODVDMTMuMTczOCAyMS4zNzkyIDEzLjA0MSAyMS40OTA1IDEyLjg2MTMgMjEuNTcyNUMxMi42ODU2IDIxLjY1MDYgMTIuNDU1MSAyMS42ODk3IDEyLjE2OTkgMjEuNjg5N0MxMS45MjM4IDIxLjY4OTcgMTEuNzAxMiAyMS42NjYzIDExLjUwMiAyMS42MTk0QzExLjMwMjcgMjEuNTcyNSAxMS4xMzI4IDIxLjQ5NDQgMTAuOTkyMiAyMS4zODVDMTAuODU1NSAyMS4yNzU2IDEwLjc1IDIxLjEzMzEgMTAuNjc1OCAyMC45NTczQzEwLjYwMTYgMjAuNzc3NiAxMC41NjQ1IDIwLjU1ODggMTAuNTY0NSAyMC4zMDFIOC42NTQzMUM4LjY1NDMxIDIwLjc5MzIgOC43NTM5MiAyMS4yMTkgOC45NTMxMyAyMS41Nzg0QzkuMTU2MjYgMjEuOTMzOCA5LjQyNTc5IDIyLjIyNjggOS43NjE3MyAyMi40NTczQzEwLjEwMTYgMjIuNjg3NyAxMC40ODA1IDIyLjg1OTYgMTAuODk4NCAyMi45NzI5QzExLjMxNjQgMjMuMDgyMyAxMS43NDAyIDIzLjEzNyAxMi4xNjk5IDIzLjEzN0MxMi42NDI2IDIzLjEzNyAxMy4wNzAzIDIzLjA4NDIgMTMuNDUzMSAyMi45Nzg4QzEzLjgzNTkgMjIuODczMyAxNC4xNjQxIDIyLjcxOSAxNC40Mzc1IDIyLjUxNTlDMTQuNzE0OSAyMi4zMDg4IDE0LjkyNTggMjIuMDU4OCAxNS4wNzAzIDIxLjc2NTlDMTUuMjE4OCAyMS40NzI5IDE1LjI5MyAyMS4xMzcgMTUuMjkzIDIwLjc1ODFDMTUuMjkzIDIwLjQwMjYgMTUuMjMwNSAyMC4wODQyIDE1LjEwNTUgMTkuODAzQzE0Ljk4NDQgMTkuNTIxNyAxNC44MDI3IDE5LjI2OTggMTQuNTYwNiAxOS4wNDcxQzE0LjMxODQgMTguODI0NSAxNC4wMTk1IDE4LjYyNTIgMTMuNjY0MSAxOC40NDk1QzEzLjMxMjUgMTguMjczNyAxMi45MDgyIDE4LjExMzUgMTIuNDUxMiAxNy45NjlDMTIuMTg5NSAxNy44OTA5IDExLjk1NyAxNy44MDg4IDExLjc1MzkgMTcuNzIyOUMxMS41NTA4IDE3LjYzNyAxMS4zNzg5IDE3LjU0NzEgMTEuMjM4MyAxNy40NTM0QzExLjEwMTYgMTcuMzU1NyAxMC45OTYxIDE3LjI1MjIgMTAuOTIxOSAxNy4xNDI4QzEwLjg1MTYgMTcuMDI5NSAxMC44MTY0IDE2LjkwNDUgMTAuODE2NCAxNi43Njc4QzEwLjgxNjQgMTYuNTk1OSAxMC44NjMzIDE2LjQzNzcgMTAuOTU3IDE2LjI5MzJDMTEuMDU0NyAxNi4xNDg3IDExLjE5NzMgMTYuMDM1NCAxMS4zODQ4IDE1Ljk1MzRDMTEuNTc2MiAxNS44Njc0IDExLjgxMjUgMTUuODI0NSAxMi4wOTM4IDE1LjgyNDVDMTIuMzgyOCAxNS44MjQ1IDEyLjYyMzEgMTUuODc1MiAxMi44MTQ1IDE1Ljk3NjhDMTMuMDA5OCAxNi4wNzg0IDEzLjE1NDMgMTYuMjE5IDEzLjI0ODEgMTYuMzk4N0MxMy4zNDU3IDE2LjU3NDUgMTMuMzk0NSAxNi43Nzc2IDEzLjM5NDUgMTcuMDA4MUgxNS4yOTNDMTUuMjkzIDE2LjQ4NDYgMTUuMTYwMiAxNi4wMjU2IDE0Ljg5NDUgMTUuNjMxMUMxNC42Mjg5IDE1LjIzMjcgMTQuMjU3OCAxNC45MjQxIDEzLjc4MTMgMTQuNzA1M0MxMy4zMDg2IDE0LjQ4MjcgMTIuNzU5OCAxNC4zNzEzIDEyLjEzNDggMTQuMzcxM0MxMS42NjYgMTQuMzcxMyAxMS4yMzYzIDE0LjQyOCAxMC44NDU3IDE0LjU0MTNDMTAuNDU1MSAxNC42NTA2IDEwLjExNTIgMTQuODEwOCA5LjgyNjE4IDE1LjAyMTdDOS41MzcxMiAxNS4yMjg4IDkuMzEyNTEgMTUuNDc4OCA5LjE1MjM1IDE1Ljc3MTdDOC45OTIyIDE2LjA2NDcgOC45MTIxMiAxNi4zOTI4IDguOTEyMTIgMTYuNzU2MUM4LjkxMjEyIDE3LjEzMTEgOC45ODgyOSAxNy40NTkyIDkuMTQwNjMgMTcuNzQwNUM5LjI5Njg4IDE4LjAyMTcgOS41MDk3OCAxOC4yNjc4IDkuNzc5MzEgMTguNDc4OEMxMC4wNDg4IDE4LjY4OTcgMTAuMzU1NSAxOC44NzUyIDEwLjY5OTIgMTkuMDM1NEMxMS4wNDY5IDE5LjE5MTcgMTEuNDEyMSAxOS4zMzIzIDExLjc5NDkgMTkuNDU3M0MxMi4xMzA5IDE5LjU2MjcgMTIuNDAyNCAxOS42NjYzIDEyLjYwOTQgMTkuNzY3OEMxMi44MTY0IDE5Ljg2NTUgMTIuOTc2NiAxOS45NjMxIDEzLjA4OTkgMjAuMDYwOEMxMy4yMDMxIDIwLjE1ODQgMTMuMjgxMyAyMC4yNjU5IDEzLjMyNDIgMjAuMzgzMVpNMTkuNTIzMiAyMy4wMTk4SDE4Ljg2N0wxNS45NjA3IDE0LjQ4ODVIMTguMDgxOEwxOS44OTI1IDIwLjgzOTlMMjEuNzA4OCAxNC40ODg1SDIzLjgzNTdMMjAuOTExOSAyMy4wMTk4SDIwLjI3MzJIMTkuNTIzMloiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
82
93
  }
83
94
 
84
95
  .print-txt-button{
85
96
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjUwMDAxIDFDMy45NDc3MiAxIDMuNTAwMDEgMS40NDc3MiAzLjUwMDAxIDJWMTFDMy41MDAwMSAxMS41NTIzIDMuOTQ3NzIgMTIgNC41MDAwMSAxMkM1LjA1MjI5IDEyIDUuNTAwMDEgMTEuNTUyMyA1LjUwMDAxIDExVjNIMTQuNVY3QzE0LjUgNy41NTIyOCAxNC45NDc3IDggMTUuNSA4SDE5LjVWMTFDMTkuNSAxMS41NTIzIDE5Ljk0NzcgMTIgMjAuNSAxMkMyMS4wNTIzIDEyIDIxLjUgMTEuNTUyMyAyMS41IDExVjdDMjEuNSA2LjczNDc4IDIxLjM5NDcgNi40ODA0MyAyMS4yMDcxIDYuMjkyODlMMTYuMjA3MSAxLjI5Mjg5QzE2LjAxOTYgMS4xMDUzNiAxNS43NjUyIDEgMTUuNSAxSDQuNTAwMDFaTTE4LjA4NTggNkwxNi41IDQuNDE0MjFWNkgxOC4wODU4WiIgZmlsbD0iYmxhY2siLz48cGF0aCBkPSJNNS4xMDM3NiAyMy4yNDUyVjE2LjE5NjRINy42OTk0NlYxNC43MTM5SDAuNjU2NDk0VjE2LjE5NjRIMy4xOTk0NlYyMy4yNDUySDUuMTAzNzZaIiBmaWxsPSJibGFjayIvPjxwYXRoIGQ9Ik0xMiAxNy42MjAyTDEwLjUgMTQuNzEzOUg4LjMyMDMyTDEwLjc1MiAxOC45NDQ0TDguMjU1ODcgMjMuMjQ1MkgxMC40NTlMMTIgMjAuMjg2MkwxMy41NDY5IDIzLjI0NTJIMTUuNzQ0MkwxMy4yNTM5IDE4Ljk0NDRMMTUuNjc5NyAxNC43MTM5SDEzLjVMMTIgMTcuNjIwMloiIGZpbGw9ImJsYWNrIi8+PHBhdGggZD0iTTIwLjczNjEgMjMuMjQ1MlYxNi4xOTY0SDIzLjMzMThWMTQuNzEzOUgxNi4yODg4VjE2LjE5NjRIMTguODMxOFYyMy4yNDUySDIwLjczNjFaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
97
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjUwMDAxIDFDMy45NDc3MiAxIDMuNTAwMDEgMS40NDc3MiAzLjUwMDAxIDJWMTFDMy41MDAwMSAxMS41NTIzIDMuOTQ3NzIgMTIgNC41MDAwMSAxMkM1LjA1MjI5IDEyIDUuNTAwMDEgMTEuNTUyMyA1LjUwMDAxIDExVjNIMTQuNVY3QzE0LjUgNy41NTIyOCAxNC45NDc3IDggMTUuNSA4SDE5LjVWMTFDMTkuNSAxMS41NTIzIDE5Ljk0NzcgMTIgMjAuNSAxMkMyMS4wNTIzIDEyIDIxLjUgMTEuNTUyMyAyMS41IDExVjdDMjEuNSA2LjczNDc4IDIxLjM5NDcgNi40ODA0MyAyMS4yMDcxIDYuMjkyODlMMTYuMjA3MSAxLjI5Mjg5QzE2LjAxOTYgMS4xMDUzNiAxNS43NjUyIDEgMTUuNSAxSDQuNTAwMDFaTTE4LjA4NTggNkwxNi41IDQuNDE0MjFWNkgxOC4wODU4WiIgZmlsbD0iYmxhY2siLz48cGF0aCBkPSJNNS4xMDM3NiAyMy4yNDUyVjE2LjE5NjRINy42OTk0NlYxNC43MTM5SDAuNjU2NDk0VjE2LjE5NjRIMy4xOTk0NlYyMy4yNDUySDUuMTAzNzZaIiBmaWxsPSJibGFjayIvPjxwYXRoIGQ9Ik0xMiAxNy42MjAyTDEwLjUgMTQuNzEzOUg4LjMyMDMyTDEwLjc1MiAxOC45NDQ0TDguMjU1ODcgMjMuMjQ1MkgxMC40NTlMMTIgMjAuMjg2MkwxMy41NDY5IDIzLjI0NTJIMTUuNzQ0MkwxMy4yNTM5IDE4Ljk0NDRMMTUuNjc5NyAxNC43MTM5SDEzLjVMMTIgMTcuNjIwMloiIGZpbGw9ImJsYWNrIi8+PHBhdGggZD0iTTIwLjczNjEgMjMuMjQ1MlYxNi4xOTY0SDIzLjMzMThWMTQuNzEzOUgxNi4yODg4VjE2LjE5NjRIMTguODMxOFYyMy4yNDUySDIwLjczNjFaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==");
86
98
  }
87
99
 
88
100
  .indicator-elem{
@@ -44,6 +44,7 @@
44
44
  width: 100%;
45
45
  height: 100%;
46
46
  mask-size: 100%;
47
+ -webkit-mask-size: 100%;
47
48
  position: absolute;
48
49
  cursor: pointer;
49
50
  }
@@ -4,8 +4,6 @@ Ext.define('Coon.research.componentHierarchy.ComponentHierarchyLoader', {
4
4
 
5
5
  cmpCache: new Map(),
6
6
 
7
- maxLevel: 6,
8
-
9
7
  loadReport(id) {
10
8
  return Coon.util.promisifyCmd('command.LoadDynamicReportCommand', id, true);
11
9
  },
@@ -22,11 +20,16 @@ Ext.define('Coon.research.componentHierarchy.ComponentHierarchyLoader', {
22
20
  });
23
21
  },
24
22
 
25
- getReportIds(config) {
23
+ getReportIds(config, cid) {
26
24
  const acc = [];
27
25
  const filterReports = (data) => {
28
26
  if (data.xtype === 'ReportPanel' && (data.reportId || data.reportID)) {
29
- acc.push({name: data.title || data.xtype, id: data.reportId || data.reportID});
27
+ acc.push({
28
+ source: `UiCP:${cid}`,
29
+ name: data.title || data.xtype,
30
+ cid: data.reportId || data.reportID,
31
+ xtype: 'ReportPanel',
32
+ });
30
33
  return;
31
34
  }
32
35
  for (const [k, v] of Object.entries(data)) {
@@ -65,94 +68,108 @@ Ext.define('Coon.research.componentHierarchy.ComponentHierarchyLoader', {
65
68
  }
66
69
  },
67
70
 
68
- async reportLoader(id, name, level) {
69
- console.log('reportLoader', level, id, name);
70
- const cacheId = `R_${id}`;
71
+ async reportLoader(cid, name) {
72
+ Coon.log.debug('reportLoader', cid, name);
73
+ const cacheId = `R_${cid}`;
71
74
  if (this.cmpCache.has(cacheId)) {
72
75
  const node = this.cmpCache.get(cacheId);
73
76
  name && (node.name = name);
74
- node.children = false;
75
- console.log('CACHED: reportLoader', cacheId);
76
- return node;
77
+ node.name = node.name || cacheId;
78
+ const cacheState = '<span style="color:blue">[cached]</span>';
79
+ node.name = !node.name.includes(cacheState) && `${node.name}${cacheState}`,
80
+ Coon.log.debug('CACHED: reportLoader', cacheId);
81
+ return Object.assign({}, node);
77
82
  }
78
- const config = await this.loadReport(id);
83
+ const config = await this.loadReport(cid);
79
84
  const node = {
80
- // config,
81
- name: name || config.reportDescription,
82
- id,
85
+ name: name || config.reportDescription || 'noname!',
86
+ cid,
87
+ cacheId,
83
88
  xtype: 'ReportPanel',
89
+ leaf: true,
84
90
  };
85
- if (level >= this.maxLevel) {
86
- return node;
87
- }
88
91
  if (!Ext.isObject(config) || !Array.isArray(config.plugins)) {
89
92
  return node;
90
93
  }
91
94
  const cpRefIds = config.plugins.reduce((acc, {uiElement: plugin}) => {
92
95
  if (plugin.xtype === 'OpenCustomPanelButtonPlugin') {
93
96
  const ocpbConfig = plugin.propertyData = Ext.decode(plugin.propertyData, true);
94
- if (ocpbConfig.xtypeSelector === 'UI_LIST') {
95
- acc.push(ocpbConfig.UIElement);
97
+ if (ocpbConfig.xtypeSelector === 'UI_LIST' && ocpbConfig.UIElement) {
98
+ acc.push({
99
+ source: 'OpenCustomPanelButtonPlugin',
100
+ plugin,
101
+ xtype: 'UiCustomPanel',
102
+ cid: ocpbConfig.UIElement,
103
+ name: ocpbConfig.buttonText || '---',
104
+ });
96
105
  }
97
106
  }
98
107
  return acc;
99
108
  }, []);
100
- node.cpRefIds = cpRefIds;
101
- if (cpRefIds.length) {
102
- node.children = await this.promisesExecuter(cpRefIds.map((id) => this.customPanelLoader(id, false, level + 1), this));
103
- }
109
+ node.refIds = cpRefIds;
110
+ node.leaf = node.refIds.length === 0;
104
111
  this.cmpCache.set(cacheId, node);
105
- return node;
112
+ return Object.assign({}, node);
106
113
  },
107
114
 
108
- async customPanelLoader(id, name, level) {
109
- console.log('customPanelLoader', level, id, name);
110
- const cacheId = `CP_${id}`;
115
+ async customPanelLoader(cid, name) {
116
+ Coon.log.debug('customPanelLoader', cid, name);
117
+ const cacheId = `CP_${cid}`;
111
118
  if (this.cmpCache.has(cacheId)) {
112
119
  const node = this.cmpCache.get(cacheId);
113
120
  name && (node.name = name);
114
- node.name = `Loopback: ${node.name}`,
115
- node.children = false;
116
- console.log('CACHED: customPanelLoader', cacheId);
117
- return node;
121
+ node.name = node.name || cacheId;
122
+ const cacheState = '<span style="color:blue">[cached]</span>';
123
+ node.name = !node.name.includes(cacheState) && `${node.name}${cacheState}`,
124
+ Coon.log.debug('CACHED: customPanelLoader', cacheId);
125
+ return Object.assign({}, node);
118
126
  }
119
- const config = await this.loadUiElement(id);
127
+ const config = await this.loadUiElement(cid);
120
128
  if (!config) {
121
129
  return;
122
130
  }
123
131
  const node = {
124
132
  xtype: 'UiCustomPanel',
125
- name: name || config.description,
126
- id,
133
+ name: name || config.description || 'noname',
134
+ cid,
135
+ cacheId,
136
+ leaf: true,
127
137
  };
128
- if (level >= this.maxLevel) {
129
- return node;
130
- }
131
- const usedReports = this.getReportIds(config.properties);
132
- if (usedReports.length) {
133
- node.children = await this.promisesExecuter(
134
- usedReports.map(({name, id}) => this.reportLoader(id, name, level + 1), this)
135
- );
136
- }
138
+ const usedReports = this.getReportIds(config.properties, cid);
137
139
  const cpRefIds = (config.properties.plugins || []).reduce((acc, plugin) => {
138
- if (plugin.ptype === 'OpenPanelPlugin') {
140
+ if (plugin.ptype === 'OpenPanelPlugin' && plugin.uiElementCd) {
139
141
  acc.push({
140
- name: plugin.handlerName,
141
- id: plugin.uiElementCd,
142
+ source: 'OpenPanelPlugin',
143
+ plugin,
144
+ xtype: 'UiCustomPanel',
145
+ name: plugin.handlerName || '---',
146
+ cid: plugin.uiElementCd,
142
147
  });
143
148
  }
144
149
  return acc;
145
150
  }, []);
146
- node.cpRefIds = cpRefIds;
147
- if (cpRefIds.length) {
148
- const cpNodes = await this.promisesExecuter(
149
- cpRefIds.map(({name, id}) => this.customPanelLoader(id, name, level + 1), this)
150
- );
151
- node.children = Array.isArray(node.children) && node.children.length ?
152
- node.children.concat(cpNodes) :
153
- cpNodes;
154
- }
151
+ node.refIds = cpRefIds.concat(usedReports);
152
+ node.leaf = node.refIds.length === 0;
155
153
  this.cmpCache.set(cacheId, node);
156
- return node;
154
+ return Object.assign({}, node);
155
+ },
156
+
157
+ async loadChildren(node) {
158
+ const children = [];
159
+ for (const child of node.refIds) {
160
+ let childNode;
161
+ if (child.xtype === 'UiCustomPanel') {
162
+ childNode = await this.customPanelLoader(child.cid, child.name);
163
+ }
164
+ if (child.xtype === 'ReportPanel') {
165
+ childNode = await this.reportLoader(child.cid, child.name);
166
+ }
167
+ if (childNode) {
168
+ childNode.source = child.source;
169
+ childNode.plugin = child.plugin;
170
+ children.push(childNode);
171
+ }
172
+ }
173
+ return children;
157
174
  },
158
175
  });
@@ -0,0 +1,39 @@
1
+ Ext.define('Coon.research.componentHierarchy.ComponentOptionsView', {
2
+ extend: 'Ext.tab.Panel',
3
+
4
+ requires: [
5
+ 'Coon.research.componentHierarchy.ComponentOptionsViewController'
6
+ ],
7
+
8
+ controller: 'ComponentOptionsViewController',
9
+
10
+ xtype: 'ComponentOptionsView',
11
+
12
+ layout: 'fit',
13
+ items: [
14
+ {
15
+ title: 'опции',
16
+ xtype: 'panel',
17
+ disabled: true,
18
+ bind: {
19
+ disabled: '{!selectedComponent}',
20
+ },
21
+ layout: 'form',
22
+ items: [
23
+ {
24
+ xtype: 'button',
25
+ text: 'открыть в редакторе',
26
+ itemId: 'openInEditorBtn',
27
+ }
28
+ ],
29
+ },
30
+ {
31
+ title: 'debugInfo',
32
+ xtype: 'UiAceEditor',
33
+ scrollable: 'y',
34
+ layout: 'fit',
35
+ reference: 'preview',
36
+ }
37
+ ],
38
+
39
+ });
@@ -0,0 +1,56 @@
1
+ Ext.define('Coon.research.componentHierarchy.ComponentOptionsViewController', {
2
+ extend: 'Ext.app.ViewController',
3
+ alias: 'controller.ComponentOptionsViewController',
4
+
5
+ control: {
6
+ 'button#openInEditorBtn': {
7
+ click: 'openInEditor',
8
+ },
9
+ },
10
+
11
+ init() {
12
+ this.vm = this.getViewModel();
13
+ this.vm.bind('{ui}', this.setDebugInfo, this);
14
+ // this.vm.bind('{selectedComponent}', (v) =>
15
+ // console.log(`selectedComponent: ${v && v.get('id')}`, {v, data: v && v.getData()})
16
+ // , this);
17
+ },
18
+
19
+ setDebugInfo(ui) {
20
+ const menuItem = this.vm.get('menuItem');
21
+ const preview = this.lookup('preview');
22
+ if (!ui) {
23
+ preview.setValue('');
24
+ } else {
25
+ preview.loadJSON5({ui, menuItem});
26
+ }
27
+ },
28
+
29
+ openInEditor() {
30
+ const component = this.vm.get('selectedComponent');
31
+ const cid = component.get('cid');
32
+ const xtype = component.get('xtype');
33
+ if (xtype === 'ReportPanel' && cid) {
34
+ const view = Ext.create({
35
+ xtype: 'WindowWrap',
36
+ maximized: true,
37
+ autoShow: true,
38
+ items: [
39
+ {xtype: 'ReportFormEditPanel'}
40
+ ],
41
+ });
42
+ view.down('ReportFormEditPanel').getController().doInit(cid);
43
+ }
44
+ if (xtype === 'UiCustomPanel' && cid) {
45
+ const view = Ext.create({
46
+ xtype: 'WindowWrap',
47
+ maximized: true,
48
+ autoShow: true,
49
+ items: [
50
+ {xtype: 'UiCustomPanelEditor'}
51
+ ],
52
+ });
53
+ view.down('UiCustomPanelEditor').getController().doInit(cid);
54
+ }
55
+ },
56
+ });
@@ -4,21 +4,28 @@ Ext.define('Coon.research.componentHierarchy.ComponentTreeView', {
4
4
 
5
5
  requires: [
6
6
  'Coon.research.componentHierarchy.ComponentTreeViewController',
7
- 'Coon.research.componentHierarchy.ComponentHierarchyLoader'
7
+ 'Coon.research.componentHierarchy.ComponentHierarchyLoader',
8
+ 'Coon.research.componentHierarchy.ComponentOptionsView'
8
9
  ],
9
10
 
10
11
  controller: 'ComponentTreeViewController',
11
12
 
13
+ viewModel: {},
14
+
12
15
  layout: {
13
- type: 'hbox',
14
- align: 'stretch',
16
+ type: 'border',
17
+ },
18
+ defaults: {
19
+ menuDisabled: true,
15
20
  },
16
-
17
21
  items: [
18
22
  {
19
23
  xtype: 'treepanel',
24
+ region: 'center',
25
+ // flex: 3,
26
+ layout: 'fit',
20
27
  reference: 'componentTreePanel',
21
- flex: 1,
28
+ // flex: 1,
22
29
  store: {
23
30
  type: 'tree',
24
31
  defaultRootText: 'name',
@@ -26,22 +33,29 @@ Ext.define('Coon.research.componentHierarchy.ComponentTreeView', {
26
33
  columns: [
27
34
  {xtype: 'treecolumn', dataIndex: 'name', text: 'name', flex: 1},
28
35
  {dataIndex: 'xtype', text: 'xtype', minWidth: 200},
36
+ {dataIndex: 'source', text: 'src', minWidth: 200},
29
37
  {
30
- dataIndex: 'componentId',
38
+ dataIndex: 'cid',
31
39
  text: 'componentId',
32
40
  minWidth: 200,
33
41
  renderer(v, meta, rec) {
34
- return v || rec.get('id');
42
+ return v || rec.get('cid');
35
43
  },
36
44
  }
37
45
  ],
46
+ bind: {
47
+ selection: '{selectedComponent}',
48
+ },
38
49
  },
39
50
  {
40
- xtype: 'UiAceEditor',
41
- flex: 1,
42
- scrollable: 'y',
43
- layout: 'fit',
44
- reference: 'preview',
51
+ xtype: 'ComponentOptionsView',
52
+ region: 'east',
53
+ split: true,
54
+ width: 400,
55
+ title: 'Opts',
56
+ collapsible: true,
57
+ collapseMode: 'header',
58
+ // collapsed: true,
45
59
  }
46
60
  ],
47
61
  });
@@ -4,9 +4,14 @@ Ext.define('Coon.research.componentHierarchy.ComponentTreeViewController', {
4
4
  alias: 'controller.ComponentTreeViewController',
5
5
 
6
6
  init() {
7
+ this.vm = this.getViewModel();
7
8
  Coon.util.bindMethods(['loadMenuItem'], this, this.getView(), this);
9
+ this.lookup('componentTreePanel').on('itemdblclick', this.loadChildren, this);
10
+ this.lookup('componentTreePanel').on('itemexpand', this.expandNode, this);
8
11
  },
9
12
 
13
+ parser: Ext.create({xtype: 'ComponentHierarchyLoader'}),
14
+
10
15
  loadUiElement(id) {
11
16
  return Coon.util.promisifyCmd('command.GetUIElementCommand', id, true)
12
17
  .then((data) => {
@@ -19,83 +24,74 @@ Ext.define('Coon.research.componentHierarchy.ComponentTreeViewController', {
19
24
  });
20
25
  },
21
26
 
22
- // loadReport(id) {
23
- // return Coon.util.promisifyCmd('command.LoadDynamicReportCommand', id, true);
24
- // },
27
+ expandNode(record) {
28
+ this.loadChildren(this.lookup('componentTreePanel'), record);
29
+ },
25
30
 
26
- // async parseCP(node) {
27
- // const cpParser = Ext.create('Coon.aka.CustomPanelParser');
28
- // const children = await Promise.all(cpParser.parse(node.properties));
29
- // const usedReports = node.properties.usedReports;
30
- // if (Array.isArray(usedReports) && usedReports.length) {
31
- // for (const {title, id} of usedReports) {
32
- // const child = {properties: {reportId: id}, componentName: title, xtype: 'ReportPanel', componentId: id};
33
- // await this.parseReport(child);
34
- // children.push(child);
35
- // }
36
- // }
37
- // return children;
38
- // },
31
+ async loadChildren(view, record) {
32
+ if (!Array.isArray(record.get('refIds')) || !record.get('refIds').length || record._isLoaded || record.leaf) {
33
+ return;
34
+ }
35
+ view.mask(`load children for ${record.get('cid')}`);
36
+ try {
37
+ const children = await this.parser.loadChildren(record.getData());
38
+ if (children.length) {
39
+ record.appendChild(children);
40
+ }
41
+ record.expand();
42
+ record._isLoaded = true;
43
+ } catch (ex) {
44
+ console.error(ex, {record});
45
+ Ext.Msg.alert('ошибка', ex.toString());
46
+ }
47
+ if (view.destroyed) {
48
+ return;
49
+ }
50
+ view.unmask();
51
+ },
39
52
 
40
53
  makeTreeData(ui) {
41
- return {
42
- name: ui.description || ui.name,
43
- id: 'root',
44
- componentId: ui.componentId || ui.id,
45
- xtype: ui.xtype,
46
- children: ui.children,
47
- // children: ui.children && ui.children.map((el) => {
48
- // return {
49
- // name: el.name || el.componentName,
50
- // componentId: el.id || el.componentId,
51
- // xtype: el.xtype,
52
- // children: el.children,
53
- // };
54
- // }),
55
- };
54
+ ui.id = 'root';
55
+ ui.name = ui.description || ui.name;
56
+ ui.cid = ui.cid || ui.componentId;
57
+ return ui;
56
58
  },
57
59
 
58
- // async parseReport(node) {
59
- // node.componentId = node.properties.reportId || node.properties.reportID;
60
- // if (!node.componentId) {
61
- // node.name = `${node.name}: reportId not found!`;
62
- // return;
63
- // }
64
- // node.children = await this.loadReport(node.componentId)
65
- // .then((config) => {
66
- // const reportParser = Ext.create('Coon.aka.ReportParser');
67
- // return Promise.all(reportParser.parse(config));
68
- // });
69
- // },
70
-
71
60
  async loadMenuItem(menuItem) {
72
- const parser = Ext.create({xtype: 'ComponentHierarchyLoader'});
73
61
  this.getView().mask();
74
- const preview = this.lookup('preview');
75
- preview.setValue('');
62
+ this.vm.set('ui', false);
63
+ this.vm.set('menuItem', menuItem);
76
64
  try {
77
65
  const ui = await this.loadUiElement(menuItem.get('UI_ELEMENT_CD')).catch((error) => ({error}));
66
+ ui.description = `${menuItem.get('WORKSPACE_DESCR')}/${menuItem.get('MENU_ENTRY_DESCR')}`;
78
67
  if (!ui.properties) {
79
68
  ui.parsingError = 'cant parse';
80
69
  console.error('invalid ui', ui);
81
- preview.setValue(ui);
70
+ this.vm.set('ui', ui);
82
71
  return;
83
72
  }
84
- ui.description = 'uiElement';
85
73
  if (['ReportPanel', 'DynamicReportForm'].includes(ui.xtype)) {
86
74
  const id = ui.properties.reportId || ui.properties.reportID;
87
- ui.children = await parser.reportLoader(id, false, 1).then((node) => ([node]));
75
+ ui.children = await this.parser.reportLoader(id)
76
+ .then((node) => {
77
+ node.source = 'menuUiElement';
78
+ return [node];
79
+ });
88
80
  }
89
81
  if (['UiCustomPanel'].includes(ui.xtype)) {
90
- // ui.children = await this.parseCP(ui);
82
+ ui.children = await this.parser.customPanelLoader(ui.id)
83
+ .then((node) => {
84
+ node.source = 'menuUiElement';
85
+ return [node];
86
+ });
91
87
  }
92
- preview.loadJSON5({ui, menuItem});
88
+ this.vm.set('ui', ui);
93
89
  this.lookup('componentTreePanel').setRootNode(this.makeTreeData(ui));
94
90
  this.lookup('componentTreePanel').expandAll();
95
91
  this.getView().unmask();
96
92
  } catch (ex) {
97
93
  console.error(ex);
98
- preview.loadJSON5(ex);
94
+ this.vm.set('ui', ex);
99
95
  this.getView().unmask();
100
96
  }
101
97
  },
@@ -0,0 +1,110 @@
1
+ <?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.9" preserveAspectRatio="xMinYMin meet" viewBox="0 0 803 1082"><svg class="d2-2679128136 d2-svg" width="803" height="1082" viewBox="-91 -101 803 1082"><rect x="-91.000000" y="-101.000000" width="803.000000" height="1082.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
2
+ .d2-2679128136 .text {
3
+ font-family: "d2-2679128136-font-regular";
4
+ }
5
+ @font-face {
6
+ font-family: d2-2679128136-font-regular;
7
+ src: url("data:application/font-woff;base64,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");
8
+ }
9
+ .d2-2679128136 .text-bold {
10
+ font-family: "d2-2679128136-font-bold";
11
+ }
12
+ @font-face {
13
+ font-family: d2-2679128136-font-bold;
14
+ src: url("data:application/font-woff;base64,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");
15
+ }]]></style><style type="text/css"><![CDATA[.shape {
16
+ shape-rendering: geometricPrecision;
17
+ stroke-linejoin: round;
18
+ }
19
+ .connection {
20
+ stroke-linecap: round;
21
+ stroke-linejoin: round;
22
+ }
23
+ .blend {
24
+ mix-blend-mode: multiply;
25
+ opacity: 0.5;
26
+ }
27
+
28
+ .d2-2679128136 .fill-N1{fill:#0A0F25;}
29
+ .d2-2679128136 .fill-N2{fill:#676C7E;}
30
+ .d2-2679128136 .fill-N3{fill:#9499AB;}
31
+ .d2-2679128136 .fill-N4{fill:#CFD2DD;}
32
+ .d2-2679128136 .fill-N5{fill:#DEE1EB;}
33
+ .d2-2679128136 .fill-N6{fill:#EEF1F8;}
34
+ .d2-2679128136 .fill-N7{fill:#FFFFFF;}
35
+ .d2-2679128136 .fill-B1{fill:#0D32B2;}
36
+ .d2-2679128136 .fill-B2{fill:#0D32B2;}
37
+ .d2-2679128136 .fill-B3{fill:#E3E9FD;}
38
+ .d2-2679128136 .fill-B4{fill:#E3E9FD;}
39
+ .d2-2679128136 .fill-B5{fill:#EDF0FD;}
40
+ .d2-2679128136 .fill-B6{fill:#F7F8FE;}
41
+ .d2-2679128136 .fill-AA2{fill:#4A6FF3;}
42
+ .d2-2679128136 .fill-AA4{fill:#EDF0FD;}
43
+ .d2-2679128136 .fill-AA5{fill:#F7F8FE;}
44
+ .d2-2679128136 .fill-AB4{fill:#EDF0FD;}
45
+ .d2-2679128136 .fill-AB5{fill:#F7F8FE;}
46
+ .d2-2679128136 .stroke-N1{stroke:#0A0F25;}
47
+ .d2-2679128136 .stroke-N2{stroke:#676C7E;}
48
+ .d2-2679128136 .stroke-N3{stroke:#9499AB;}
49
+ .d2-2679128136 .stroke-N4{stroke:#CFD2DD;}
50
+ .d2-2679128136 .stroke-N5{stroke:#DEE1EB;}
51
+ .d2-2679128136 .stroke-N6{stroke:#EEF1F8;}
52
+ .d2-2679128136 .stroke-N7{stroke:#FFFFFF;}
53
+ .d2-2679128136 .stroke-B1{stroke:#0D32B2;}
54
+ .d2-2679128136 .stroke-B2{stroke:#0D32B2;}
55
+ .d2-2679128136 .stroke-B3{stroke:#E3E9FD;}
56
+ .d2-2679128136 .stroke-B4{stroke:#E3E9FD;}
57
+ .d2-2679128136 .stroke-B5{stroke:#EDF0FD;}
58
+ .d2-2679128136 .stroke-B6{stroke:#F7F8FE;}
59
+ .d2-2679128136 .stroke-AA2{stroke:#4A6FF3;}
60
+ .d2-2679128136 .stroke-AA4{stroke:#EDF0FD;}
61
+ .d2-2679128136 .stroke-AA5{stroke:#F7F8FE;}
62
+ .d2-2679128136 .stroke-AB4{stroke:#EDF0FD;}
63
+ .d2-2679128136 .stroke-AB5{stroke:#F7F8FE;}
64
+ .d2-2679128136 .background-color-N1{background-color:#0A0F25;}
65
+ .d2-2679128136 .background-color-N2{background-color:#676C7E;}
66
+ .d2-2679128136 .background-color-N3{background-color:#9499AB;}
67
+ .d2-2679128136 .background-color-N4{background-color:#CFD2DD;}
68
+ .d2-2679128136 .background-color-N5{background-color:#DEE1EB;}
69
+ .d2-2679128136 .background-color-N6{background-color:#EEF1F8;}
70
+ .d2-2679128136 .background-color-N7{background-color:#FFFFFF;}
71
+ .d2-2679128136 .background-color-B1{background-color:#0D32B2;}
72
+ .d2-2679128136 .background-color-B2{background-color:#0D32B2;}
73
+ .d2-2679128136 .background-color-B3{background-color:#E3E9FD;}
74
+ .d2-2679128136 .background-color-B4{background-color:#E3E9FD;}
75
+ .d2-2679128136 .background-color-B5{background-color:#EDF0FD;}
76
+ .d2-2679128136 .background-color-B6{background-color:#F7F8FE;}
77
+ .d2-2679128136 .background-color-AA2{background-color:#4A6FF3;}
78
+ .d2-2679128136 .background-color-AA4{background-color:#EDF0FD;}
79
+ .d2-2679128136 .background-color-AA5{background-color:#F7F8FE;}
80
+ .d2-2679128136 .background-color-AB4{background-color:#EDF0FD;}
81
+ .d2-2679128136 .background-color-AB5{background-color:#F7F8FE;}
82
+ .d2-2679128136 .color-N1{color:#0A0F25;}
83
+ .d2-2679128136 .color-N2{color:#676C7E;}
84
+ .d2-2679128136 .color-N3{color:#9499AB;}
85
+ .d2-2679128136 .color-N4{color:#CFD2DD;}
86
+ .d2-2679128136 .color-N5{color:#DEE1EB;}
87
+ .d2-2679128136 .color-N6{color:#EEF1F8;}
88
+ .d2-2679128136 .color-N7{color:#FFFFFF;}
89
+ .d2-2679128136 .color-B1{color:#0D32B2;}
90
+ .d2-2679128136 .color-B2{color:#0D32B2;}
91
+ .d2-2679128136 .color-B3{color:#E3E9FD;}
92
+ .d2-2679128136 .color-B4{color:#E3E9FD;}
93
+ .d2-2679128136 .color-B5{color:#EDF0FD;}
94
+ .d2-2679128136 .color-B6{color:#F7F8FE;}
95
+ .d2-2679128136 .color-AA2{color:#4A6FF3;}
96
+ .d2-2679128136 .color-AA4{color:#EDF0FD;}
97
+ .d2-2679128136 .color-AA5{color:#F7F8FE;}
98
+ .d2-2679128136 .color-AB4{color:#EDF0FD;}
99
+ .d2-2679128136 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2679128136);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2679128136);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2679128136);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2679128136);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2679128136);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2679128136);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2679128136);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2679128136);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="VUlFbGVtZW50"><g class="shape" ><rect x="279.000000" y="0.000000" width="119.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="338.500000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">UIElement</text></g><g class="UmVwb3J0UGFuZWw="><g class="shape" ><rect x="403.000000" y="186.000000" width="208.000000" height="126.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="507.000000" y="173.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">ReportPanel</text></g><g class="VWlDdXN0b21QYW5lbA=="><g class="shape" ><rect x="10.000000" y="186.000000" width="196.000000" height="508.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="108.000000" y="173.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">UiCustomPanel</text></g><g class="ZmlsdGVyT0NQQg=="><g class="shape" ><rect x="260.000000" y="432.000000" width="121.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="320.500000" y="470.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">filterOCPB</text></g><g class="ZmlsdGVyT1A="><g class="shape" ><rect x="441.000000" y="432.000000" width="101.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="491.500000" y="470.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">filterOP</text></g><g class="ZmlsdGVyUmVwb3J0cw=="><g class="shape" ><rect x="279.000000" y="814.000000" width="136.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="347.000000" y="852.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">filterReports</text></g><g class="UmVwb3J0UGFuZWwucGx1Z2lucw=="><g class="shape" ><rect x="433.000000" y="216.000000" width="96.000000" height="66.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="481.000000" y="254.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">plugins</text></g><g class="VWlDdXN0b21QYW5lbC5wbHVnaW5z"><g class="shape" ><rect x="80.000000" y="216.000000" width="96.000000" height="66.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="128.000000" y="254.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">plugins</text></g><g class="VWlDdXN0b21QYW5lbC5wcm9wZXJ0aWVz"><g class="shape" ><rect x="40.000000" y="598.000000" width="119.000000" height="66.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="99.500000" y="636.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">properties</text></g><g class="KFVJRWxlbWVudCAtJmd0OyBSZXBvcnRQYW5lbClbMF0="><marker id="mk-d2-2679128136-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 396.479014 67.005241 C 463.549988 106.000000 480.750000 121.800003 480.750000 141.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KFVJRWxlbWVudCAtJmd0OyBVaUN1c3RvbVBhbmVsKVswXQ=="><path d="M 277.072157 50.532372 C 87.799004 102.800003 40.000000 121.800003 40.000000 141.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KFJlcG9ydFBhbmVsLnBsdWdpbnMgLSZndDsgZmlsdGVyT0NQQilbMF0="><path d="M 430.973487 274.740686 C 342.750000 320.364014 320.250000 392.000000 320.250000 428.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KGZpbHRlck9DUEIgLSZndDsgVWlDdXN0b21QYW5lbClbMF0="><path d="M 257.842301 489.258561 L 209.565397 504.456846" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KFVpQ3VzdG9tUGFuZWwucGx1Z2lucyAtJmd0OyBmaWx0ZXJPUClbMF0="><path d="M 128.000000 284.000000 C 128.000000 322.000000 190.550003 396.291992 436.850500 452.569989" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KGZpbHRlck9QIC0mZ3Q7IFVpQ3VzdG9tUGFuZWwpWzBd"><path d="M 438.804476 478.031607 L 209.641047 532.640765" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KFVpQ3VzdG9tUGFuZWwucHJvcGVydGllcyAtJmd0OyBmaWx0ZXJSZXBvcnRzKVswXQ=="><path d="M 99.500000 666.000000 C 99.500000 704.000000 135.500000 776.000000 275.705267 822.735089" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><g class="KGZpbHRlclJlcG9ydHMgLSZndDsgUmVwb3J0UGFuZWwpWzBd"><path d="M 417.135388 822.263713 C 548.450012 775.786011 581.750000 754.000000 581.750000 739.000000 C 581.750000 724.000000 581.750000 697.400024 581.750000 672.500000 C 581.750000 647.599976 581.750000 614.400024 581.750000 589.500000 C 581.750000 564.599976 581.750000 531.400024 581.750000 506.500000 C 581.750000 481.600006 581.750000 368.000000 581.750000 316.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2679128136-3488378134)" mask="url(#d2-2679128136)" /></g><mask id="d2-2679128136" maskUnits="userSpaceOnUse" x="-91" y="-101" width="803" height="1082">
100
+ <rect x="-91" y="-101" width="803" height="1082" fill="white"></rect>
101
+ <rect x="301.500000" y="22.500000" width="74" height="21" fill="rgba(0,0,0,0.75)"></rect>
102
+ <rect x="435.000000" y="145.000000" width="144" height="36" fill="rgba(0,0,0,0.75)"></rect>
103
+ <rect x="18.000000" y="145.000000" width="180" height="36" fill="rgba(0,0,0,0.75)"></rect>
104
+ <rect x="282.500000" y="454.500000" width="76" height="21" fill="rgba(0,0,0,0.75)"></rect>
105
+ <rect x="463.500000" y="454.500000" width="56" height="21" fill="rgba(0,0,0,0.75)"></rect>
106
+ <rect x="301.500000" y="836.500000" width="91" height="21" fill="rgba(0,0,0,0.75)"></rect>
107
+ <rect x="455.500000" y="238.500000" width="51" height="21" fill="rgba(0,0,0,0.75)"></rect>
108
+ <rect x="102.500000" y="238.500000" width="51" height="21" fill="rgba(0,0,0,0.75)"></rect>
109
+ <rect x="62.500000" y="620.500000" width="74" height="21" fill="rgba(0,0,0,0.75)"></rect>
110
+ </mask></svg></svg>
package/src/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  Ext.define('Coon.version', {
2
2
  singleton: true,
3
- number: '3.0.8',
3
+ number: '3.0.10',
4
4
  });