ru.coon 3.0.7 → 3.0.8

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # Version 3.0.8, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/d002a5973cb3a56e4efc7376e0651fb859700ab1)
2
+ * ## Features
3
+ * <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))
4
+ * <span style='color:green'>feat: TR-70563 add style changes to vertica tabpanel</span> ([a0d06b], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/a0d06b4fbeaba0eafcc56fd7253b01be4eca99e7))
5
+
6
+ * update: CHANGELOG.md ([d9b705], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/d9b705f81997d91fb868ce9c25dc4c845359b9c1))
7
+
1
8
  # Version 3.0.7, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/712d2dfc27e7a8fc0f987e0d0a84d0f47daa85af)
2
9
  * ## Features
3
10
  * <span style='color:green'>feat: NEVA-828: Доработка копирования плагинов, пересобираю объект что бы вложенные объекты не были ссылочными. + мелкие фиксы</span> ([5524d0], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/5524d0ac04332a4ebd845ef77a68295551a1d81b))
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "name": "ru.coon"
5
5
  },
6
6
  "description": "",
7
- "version": "3.0.7",
7
+ "version": "3.0.8",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+http://gitlab-dbr.sigma-it.local/dbr/ru.coon"
@@ -1,7 +1,9 @@
1
1
  .coonVerticalTabpanel {
2
+ border-top: solid #DEDEDE 1px;
3
+ z-index: 4;
2
4
  .x-tab-bar.x-tab-bar-vertical {
3
5
  background-color: #fff;
4
-
6
+ border-right: solid #DEDEDE 1px !important;
5
7
  .x-tab {
6
8
  position: static !important;
7
9
  padding: 8px 16px;
@@ -40,6 +42,10 @@
40
42
  font-weight: 400;
41
43
  line-height: var(--line-height);
42
44
  }
45
+
46
+ .x-tab-bar-body-default {
47
+ padding: 0;
48
+ }
43
49
  }
44
50
 
45
51
  .tab-dirty {
@@ -196,6 +196,7 @@ Ext.define('Coon.report.plugin.grid.OpenCustomPanelButtonPlugin', {
196
196
  {
197
197
  uiElementCd: properties.uiElementCd,
198
198
  xtype,
199
+ source: this.$className.split('.').pop(),
199
200
  }
200
201
  )
201
202
  );
@@ -13,6 +13,7 @@ Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
13
13
  windowProperties: {},
14
14
  panelXType: undefined,
15
15
  uiElementCd: undefined,
16
+ openInTab: undefined,
16
17
  handlerName: undefined,
17
18
  dataMapping: {},
18
19
  panelEventListeners: {},
@@ -60,16 +61,62 @@ Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
60
61
  }
61
62
  },
62
63
 
63
- openPanel: function() {
64
- const defaultProperties = this.defaultProperties || {};
65
- const properties = Ext.apply(defaultProperties, this.properties);
66
- this.panelXType = this.getFromModel(this.panelXType);
67
- const panel = Ext.widget(this.panelXType, properties);
64
+ openInCenterView(panel, properties) {
65
+ this.getCenterView();
66
+ if (!this.centerView) {
67
+ const frameview = this.getCmp().up('frameview');
68
+ if (frameview) {
69
+ Ext.toast(`В режиме редактирования кастомной панели нельзя открыть панель ${this.uiElementCd} во вкладке.`);
70
+ }
71
+ Coon.log.debug('panel cannot be open in centerView from CustomPanelEditor');
72
+ return;
73
+ }
74
+
75
+ const componentContextId = Coon.util.ContextManager.generateKey(
76
+ Object.assign(
77
+ {},
78
+ properties,
79
+ {
80
+ uiElementCd: properties.uiElementCd,
81
+ params: this.initArguments,
82
+ xtype: this.panelXType,
83
+ source: this.$className.split('.').pop(),
84
+ }
85
+ )
86
+ );
87
+ panel.componentContextId = componentContextId;
88
+
89
+ if (this.hasInCenterView(componentContextId)) {
90
+ this.centerView.setActiveComponent({componentContextId});
91
+ return;
92
+ }
93
+
94
+ this.centerView.setActiveComponent(panel);
95
+ Coon.Function.executeComponentDoInit(panel, this.initArguments);
96
+ panel.setClosable(true);
97
+ panel.on('afterlayout', function(panel) {
98
+ panel.focus();
99
+ }, this, {single: true});
100
+ },
101
+
102
+ getCenterView() {
103
+ if (!this.centerView) {
104
+ this.centerView = this.centerView || this.getCmp().up('centerview');
105
+ }
106
+ return this.centerView;
107
+ },
108
+
109
+ hasInCenterView(componentContextId) {
110
+ return !!this.centerView.findComponent(componentContextId);
111
+ },
112
+
113
+ openInWindowWrap(panel) {
68
114
  const defaultWindowConfig = {
69
115
  height: 450,
70
116
  width: 780,
71
117
  };
72
118
  Ext.apply(defaultWindowConfig, this.windowProperties);
119
+
73
120
  const openWindow = Ext.widget('WindowWrap', Ext.applyIf({
74
121
  items: panel,
75
122
  }, defaultWindowConfig || {}));
@@ -79,12 +126,9 @@ Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
79
126
  });
80
127
 
81
128
  openWindow.on('afterrender', function() {
82
- const initArguments = {};
83
- for (const name in this.parameters) {
84
- initArguments[name] = this.getFromModel(this.parameters[name]);
85
- }
86
- Coon.Function.executeComponentDoInit(panel, initArguments);
129
+ Coon.Function.executeComponentDoInit(panel, this.initArguments);
87
130
  }, this);
131
+
88
132
  if (!Ext.isEmpty(this.panelEventListeners)) {
89
133
  for (const eventName in this.panelEventListeners) {
90
134
  if (this.panelEventListeners.hasOwnProperty(eventName)) {
@@ -92,6 +136,29 @@ Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
92
136
  }
93
137
  }
94
138
  }
139
+
95
140
  openWindow.show();
96
141
  },
142
+
143
+ setInitArguments() {
144
+ this.initArguments = {};
145
+ for (const name in this.parameters) {
146
+ this.initArguments[name] = this.getFromModel(this.parameters[name]);
147
+ }
148
+ },
149
+
150
+ openPanel: function() {
151
+ const defaultProperties = this.defaultProperties || {};
152
+ const properties = Ext.apply(defaultProperties, this.properties);
153
+ this.panelXType = this.getFromModel(this.panelXType);
154
+ const panel = Ext.widget(this.panelXType, properties);
155
+
156
+ this.setInitArguments();
157
+
158
+ if (this.openInTab) {
159
+ this.openInCenterView(panel, properties);
160
+ } else {
161
+ this.openInWindowWrap(panel);
162
+ }
163
+ },
97
164
  });
@@ -16,6 +16,7 @@ Ext.define('Coon.uielement.plugin.configPanel.OpenPanelPluginConfigPanelFormEdit
16
16
  handlerName: '',
17
17
  panelEventListeners: [],
18
18
  activeAceTab: 'parameters',
19
+ openInTab: false,
19
20
  },
20
21
  },
21
22
  layout: {
@@ -61,6 +62,25 @@ Ext.define('Coon.uielement.plugin.configPanel.OpenPanelPluginConfigPanelFormEdit
61
62
  value: '{panelXType}',
62
63
  },
63
64
  },
65
+ {
66
+ items: [
67
+ {
68
+ boxLabel: 'Открыть во вкладке[по умолчанию откроется в модальном окне(WindowWrap)]',
69
+ xtype: 'checkbox',
70
+ name: 'openInTab',
71
+ margin: 0,
72
+ bind: {
73
+ value: '{openInTab}',
74
+ },
75
+ },
76
+ {
77
+ html: `<p style="font: 400 12px / 16px Roboto, sans-serif; margin: 0 0 0 30px">
78
+ (при выборе данной опции, находясь в режиме редактирования кастомной
79
+ панели будет невозможным проверка открытия данной uiElementCd)
80
+ </p>`,
81
+ }
82
+ ],
83
+ },
64
84
  {
65
85
  xtype: 'tabpanel',
66
86
  itemId: 'propTabPanel',
@@ -91,7 +111,7 @@ Ext.define('Coon.uielement.plugin.configPanel.OpenPanelPluginConfigPanelFormEdit
91
111
  {
92
112
  xtype: 'ReportPropertiesGrid',
93
113
  title: 'panelEventListeners',
94
- flex: 2,
114
+ flex: 3,
95
115
  columns: [
96
116
  {
97
117
  text: 'event',
@@ -232,6 +252,7 @@ Ext.define('Coon.uielement.plugin.configPanel.OpenPanelPluginConfigPanelFormEdit
232
252
  result[el] = vm.get(el);
233
253
  }
234
254
  });
255
+ result['openInTab'] = vm.get('openInTab');
235
256
  return result;
236
257
  },
237
258
  });
package/src/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  Ext.define('Coon.version', {
2
2
  singleton: true,
3
- number: '3.0.7',
3
+ number: '3.0.8',
4
4
  });