@easyquery/ui 7.2.3-rc03 → 7.2.4-beta03

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 (214) hide show
  1. package/dist/browser/eq.community.css.map +1 -1
  2. package/dist/browser/eq.community.js +32587 -34146
  3. package/dist/browser/eq.community.js.map +1 -1
  4. package/dist/browser/eq.community.min.js +1 -9
  5. package/dist/browser/eq.community.min.js.map +1 -1
  6. package/dist/browser/eq.core.css +17 -112
  7. package/dist/browser/eq.core.min.css +3 -10
  8. package/dist/browser/eq.view.css +1 -1
  9. package/dist/browser/eq.view.css.map +1 -1
  10. package/dist/browser/eq.view.min.css +1 -10
  11. package/dist/bundles/easyquery.ui.js +23032 -22870
  12. package/dist/bundles/easyquery.ui.js.map +1 -1
  13. package/dist/bundles/easyquery.ui.min.js +1 -1
  14. package/dist/bundles/easyquery.ui.min.js.map +1 -1
  15. package/dist/lib/dialog/aggr_settings_dialog.d.ts +12 -12
  16. package/dist/lib/dialog/aggr_settings_dialog.js +106 -106
  17. package/dist/lib/dialog/export_dialog.d.ts +7 -7
  18. package/dist/lib/dialog/export_dialog.js +63 -63
  19. package/dist/lib/extensions.d.ts +7 -7
  20. package/dist/lib/extensions.js +13 -13
  21. package/dist/lib/facets/chart_facet.d.ts +21 -21
  22. package/dist/lib/facets/chart_facet.js +240 -238
  23. package/dist/lib/facets/chart_facet.js.map +1 -1
  24. package/dist/lib/facets/datatable_facet.d.ts +15 -15
  25. package/dist/lib/facets/datatable_facet.js +71 -69
  26. package/dist/lib/facets/datatable_facet.js.map +1 -1
  27. package/dist/lib/facets/pivot_table_facet.d.ts +51 -51
  28. package/dist/lib/facets/pivot_table_facet.js +698 -696
  29. package/dist/lib/facets/pivot_table_facet.js.map +1 -1
  30. package/dist/lib/facets/result_facet.d.ts +40 -40
  31. package/dist/lib/facets/result_facet.js +246 -246
  32. package/dist/lib/facets/result_facet.js.map +1 -1
  33. package/dist/lib/i18n/text_resources.d.ts +1 -1
  34. package/dist/lib/i18n/text_resources.js +260 -259
  35. package/dist/lib/i18n/text_resources.js.map +1 -1
  36. package/dist/lib/public_api.d.ts +61 -61
  37. package/dist/lib/public_api.js +92 -90
  38. package/dist/lib/public_api.js.map +1 -1
  39. package/dist/lib/types/facet_type.d.ts +5 -5
  40. package/dist/lib/types/facet_type.js +6 -6
  41. package/dist/lib/types/qp_editable_part.d.ts +15 -15
  42. package/dist/lib/types/qp_editable_part.js +16 -16
  43. package/dist/lib/utils/browser_utils.d.ts +8 -8
  44. package/dist/lib/utils/browser_utils.js +58 -58
  45. package/dist/lib/utils/display_format_parser.d.ts +11 -11
  46. package/dist/lib/utils/display_format_parser.js +61 -61
  47. package/dist/lib/utils/dropdown.d.ts +11 -11
  48. package/dist/lib/utils/dropdown.js +57 -55
  49. package/dist/lib/utils/dropdown.js.map +1 -1
  50. package/dist/lib/utils/popup_menu.d.ts +163 -163
  51. package/dist/lib/utils/popup_menu.js +1259 -1260
  52. package/dist/lib/utils/popup_menu.js.map +1 -1
  53. package/dist/lib/utils/utils.d.ts +9 -9
  54. package/dist/lib/utils/utils.js +46 -46
  55. package/dist/lib/utils/utils.js.map +1 -1
  56. package/dist/lib/views/adv_search_view.d.ts +95 -95
  57. package/dist/lib/views/adv_search_view.js +712 -710
  58. package/dist/lib/views/adv_search_view.js.map +1 -1
  59. package/dist/lib/views/data_filter_view.d.ts +17 -17
  60. package/dist/lib/views/data_filter_view.js +79 -77
  61. package/dist/lib/views/data_filter_view.js.map +1 -1
  62. package/dist/lib/views/html_data_filter_view.d.ts +19 -19
  63. package/dist/lib/views/html_data_filter_view.js +44 -42
  64. package/dist/lib/views/html_data_filter_view.js.map +1 -1
  65. package/dist/lib/views/report_view.d.ts +173 -173
  66. package/dist/lib/views/report_view.js +733 -731
  67. package/dist/lib/views/report_view.js.map +1 -1
  68. package/dist/lib/views/view.d.ts +149 -149
  69. package/dist/lib/views/view.js +538 -538
  70. package/dist/lib/views/view.js.map +1 -1
  71. package/dist/lib/views/view_options.d.ts +113 -113
  72. package/dist/lib/views/view_options.js +1 -0
  73. package/dist/lib/widgets/aggregation_bar.d.ts +30 -30
  74. package/dist/lib/widgets/aggregation_bar.js +145 -143
  75. package/dist/lib/widgets/aggregation_bar.js.map +1 -1
  76. package/dist/lib/widgets/charts/chart_type.d.ts +14 -14
  77. package/dist/lib/widgets/charts/chart_type.js +15 -15
  78. package/dist/lib/widgets/charts/chart_widget.d.ts +92 -92
  79. package/dist/lib/widgets/charts/chart_widget.js +384 -382
  80. package/dist/lib/widgets/charts/chart_widget.js.map +1 -1
  81. package/dist/lib/widgets/charts/chart_widget_chartjs.d.ts +23 -23
  82. package/dist/lib/widgets/charts/chart_widget_chartjs.js +186 -184
  83. package/dist/lib/widgets/charts/chart_widget_chartjs.js.map +1 -1
  84. package/dist/lib/widgets/charts/chart_widget_google.d.ts +23 -23
  85. package/dist/lib/widgets/charts/chart_widget_google.js +165 -163
  86. package/dist/lib/widgets/charts/chart_widget_google.js.map +1 -1
  87. package/dist/lib/widgets/columns_bar.d.ts +64 -64
  88. package/dist/lib/widgets/columns_bar.js +722 -721
  89. package/dist/lib/widgets/columns_bar.js.map +1 -1
  90. package/dist/lib/widgets/columns_panel.d.ts +64 -62
  91. package/dist/lib/widgets/columns_panel.js +739 -721
  92. package/dist/lib/widgets/columns_panel.js.map +1 -1
  93. package/dist/lib/widgets/easy_grid_widget.d.ts +38 -38
  94. package/dist/lib/widgets/easy_grid_widget.js +229 -227
  95. package/dist/lib/widgets/easy_grid_widget.js.map +1 -1
  96. package/dist/lib/widgets/entities_panel.d.ts +49 -49
  97. package/dist/lib/widgets/entities_panel.js +627 -625
  98. package/dist/lib/widgets/entities_panel.js.map +1 -1
  99. package/dist/lib/widgets/eq_result_html_grid.d.ts +32 -32
  100. package/dist/lib/widgets/eq_result_html_grid.js +185 -183
  101. package/dist/lib/widgets/eq_result_html_grid.js.map +1 -1
  102. package/dist/lib/widgets/export_widget.d.ts +10 -10
  103. package/dist/lib/widgets/export_widget.js +57 -55
  104. package/dist/lib/widgets/export_widget.js.map +1 -1
  105. package/dist/lib/widgets/facet_container.d.ts +12 -12
  106. package/dist/lib/widgets/facet_container.js +53 -51
  107. package/dist/lib/widgets/facet_container.js.map +1 -1
  108. package/dist/lib/widgets/filter_bar.d.ts +38 -38
  109. package/dist/lib/widgets/filter_bar.js +259 -257
  110. package/dist/lib/widgets/filter_bar.js.map +1 -1
  111. package/dist/lib/widgets/grid.d.ts +35 -35
  112. package/dist/lib/widgets/grid.js +79 -77
  113. package/dist/lib/widgets/grid.js.map +1 -1
  114. package/dist/lib/widgets/html_content_widget.d.ts +35 -35
  115. package/dist/lib/widgets/html_content_widget.js +71 -69
  116. package/dist/lib/widgets/html_content_widget.js.map +1 -1
  117. package/dist/lib/widgets/locale_widget.d.ts +16 -16
  118. package/dist/lib/widgets/locale_widget.js +79 -77
  119. package/dist/lib/widgets/locale_widget.js.map +1 -1
  120. package/dist/lib/widgets/manage_drilldown_widget.d.ts +18 -18
  121. package/dist/lib/widgets/manage_drilldown_widget.js +154 -152
  122. package/dist/lib/widgets/manage_drilldown_widget.js.map +1 -1
  123. package/dist/lib/widgets/process_widget.d.ts +21 -21
  124. package/dist/lib/widgets/process_widget.js +50 -48
  125. package/dist/lib/widgets/process_widget.js.map +1 -1
  126. package/dist/lib/widgets/query_panel.d.ts +62 -58
  127. package/dist/lib/widgets/query_panel.js +675 -653
  128. package/dist/lib/widgets/query_panel.js.map +1 -1
  129. package/dist/lib/widgets/queryname_widget.d.ts +27 -27
  130. package/dist/lib/widgets/queryname_widget.js +109 -107
  131. package/dist/lib/widgets/queryname_widget.js.map +1 -1
  132. package/dist/lib/widgets/renderers/aggr_settings/aggr_settings_renderer.d.ts +54 -54
  133. package/dist/lib/widgets/renderers/aggr_settings/aggr_settings_renderer.js +429 -429
  134. package/dist/lib/widgets/renderers/aggr_settings/aggr_settings_renderer.js.map +1 -1
  135. package/dist/lib/widgets/renderers/base_element_renderer.d.ts +15 -15
  136. package/dist/lib/widgets/renderers/base_element_renderer.js +63 -63
  137. package/dist/lib/widgets/renderers/columnsbar/aggrfunc_column_renderer.d.ts +11 -11
  138. package/dist/lib/widgets/renderers/columnsbar/aggrfunc_column_renderer.js +62 -60
  139. package/dist/lib/widgets/renderers/columnsbar/aggrfunc_column_renderer.js.map +1 -1
  140. package/dist/lib/widgets/renderers/columnsbar/column_renderer_cb.d.ts +53 -53
  141. package/dist/lib/widgets/renderers/columnsbar/column_renderer_cb.js +550 -550
  142. package/dist/lib/widgets/renderers/columnsbar/column_renderer_cb.js.map +1 -1
  143. package/dist/lib/widgets/renderers/columnsbar/simple_column_renderer.d.ts +9 -9
  144. package/dist/lib/widgets/renderers/columnsbar/simple_column_renderer.js +79 -77
  145. package/dist/lib/widgets/renderers/columnsbar/simple_column_renderer.js.map +1 -1
  146. package/dist/lib/widgets/renderers/columnspanel/aggrfunc_column_renderer.d.ts +17 -17
  147. package/dist/lib/widgets/renderers/columnspanel/aggrfunc_column_renderer.js +180 -178
  148. package/dist/lib/widgets/renderers/columnspanel/aggrfunc_column_renderer.js.map +1 -1
  149. package/dist/lib/widgets/renderers/columnspanel/column_renderer_cp.d.ts +72 -72
  150. package/dist/lib/widgets/renderers/columnspanel/column_renderer_cp.js +819 -817
  151. package/dist/lib/widgets/renderers/columnspanel/column_renderer_cp.js.map +1 -1
  152. package/dist/lib/widgets/renderers/columnspanel/customsql_column_renderer.d.ts +22 -18
  153. package/dist/lib/widgets/renderers/columnspanel/customsql_column_renderer.js +245 -214
  154. package/dist/lib/widgets/renderers/columnspanel/customsql_column_renderer.js.map +1 -1
  155. package/dist/lib/widgets/renderers/columnspanel/simple_column_renderer.d.ts +13 -13
  156. package/dist/lib/widgets/renderers/columnspanel/simple_column_renderer.js +180 -178
  157. package/dist/lib/widgets/renderers/columnspanel/simple_column_renderer.js.map +1 -1
  158. package/dist/lib/widgets/renderers/dropdown_renderer.d.ts +9 -9
  159. package/dist/lib/widgets/renderers/dropdown_renderer.js +42 -40
  160. package/dist/lib/widgets/renderers/dropdown_renderer.js.map +1 -1
  161. package/dist/lib/widgets/renderers/querypanel/addrow_renderer.d.ts +16 -16
  162. package/dist/lib/widgets/renderers/querypanel/addrow_renderer.js +87 -85
  163. package/dist/lib/widgets/renderers/querypanel/addrow_renderer.js.map +1 -1
  164. package/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.d.ts +14 -14
  165. package/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js +71 -69
  166. package/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js.map +1 -1
  167. package/dist/lib/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.d.ts +7 -7
  168. package/dist/lib/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.js +41 -39
  169. package/dist/lib/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.js.map +1 -1
  170. package/dist/lib/widgets/renderers/querypanel/condition_group_renderer.d.ts +27 -27
  171. package/dist/lib/widgets/renderers/querypanel/condition_group_renderer.js +231 -229
  172. package/dist/lib/widgets/renderers/querypanel/condition_group_renderer.js.map +1 -1
  173. package/dist/lib/widgets/renderers/querypanel/condition_renderer.d.ts +48 -48
  174. package/dist/lib/widgets/renderers/querypanel/condition_renderer.js +509 -507
  175. package/dist/lib/widgets/renderers/querypanel/condition_renderer.js.map +1 -1
  176. package/dist/lib/widgets/renderers/querypanel/datetime_expression_render.d.ts +13 -13
  177. package/dist/lib/widgets/renderers/querypanel/datetime_expression_render.js +108 -106
  178. package/dist/lib/widgets/renderers/querypanel/datetime_expression_render.js.map +1 -1
  179. package/dist/lib/widgets/renderers/querypanel/expression_renderer.d.ts +28 -28
  180. package/dist/lib/widgets/renderers/querypanel/expression_renderer.js +91 -89
  181. package/dist/lib/widgets/renderers/querypanel/expression_renderer.js.map +1 -1
  182. package/dist/lib/widgets/renderers/querypanel/input_expression_renderer.d.ts +14 -14
  183. package/dist/lib/widgets/renderers/querypanel/input_expression_renderer.js +165 -163
  184. package/dist/lib/widgets/renderers/querypanel/input_expression_renderer.js.map +1 -1
  185. package/dist/lib/widgets/renderers/querypanel/list_expression_renderer.d.ts +35 -35
  186. package/dist/lib/widgets/renderers/querypanel/list_expression_renderer.js +317 -315
  187. package/dist/lib/widgets/renderers/querypanel/list_expression_renderer.js.map +1 -1
  188. package/dist/lib/widgets/renderers/querypanel/operator_renderer.d.ts +19 -19
  189. package/dist/lib/widgets/renderers/querypanel/operator_renderer.js +95 -93
  190. package/dist/lib/widgets/renderers/querypanel/operator_renderer.js.map +1 -1
  191. package/dist/lib/widgets/renderers/querypanel/subquery_expression_renderer.d.ts +27 -27
  192. package/dist/lib/widgets/renderers/querypanel/subquery_expression_renderer.js +237 -235
  193. package/dist/lib/widgets/renderers/querypanel/subquery_expression_renderer.js.map +1 -1
  194. package/dist/lib/widgets/renderers/querypanel/text_renderer.d.ts +11 -11
  195. package/dist/lib/widgets/renderers/querypanel/text_renderer.js +36 -36
  196. package/dist/lib/widgets/renderers/querypanel/text_renderer.js.map +1 -1
  197. package/dist/lib/widgets/renderers/sortingbar/column_renderer_sp.d.ts +26 -26
  198. package/dist/lib/widgets/renderers/sortingbar/column_renderer_sp.js +163 -163
  199. package/dist/lib/widgets/renderers/sortingbar/column_renderer_sp.js.map +1 -1
  200. package/dist/lib/widgets/result_facets_panel.d.ts +64 -64
  201. package/dist/lib/widgets/result_facets_panel.js +503 -501
  202. package/dist/lib/widgets/result_facets_panel.js.map +1 -1
  203. package/dist/lib/widgets/sorting_bar.d.ts +34 -34
  204. package/dist/lib/widgets/sorting_bar.js +330 -328
  205. package/dist/lib/widgets/sorting_bar.js.map +1 -1
  206. package/dist/lib/widgets/statement_panel.d.ts +21 -21
  207. package/dist/lib/widgets/statement_panel.js +60 -58
  208. package/dist/lib/widgets/statement_panel.js.map +1 -1
  209. package/dist/lib/widgets/widget_options.d.ts +433 -429
  210. package/dist/lib/widgets/widget_options.js +1 -0
  211. package/package.json +25 -25
  212. package/webpack.config.js +31 -24
  213. package/dist/browser/eq.community.min.css.map +0 -1
  214. package/dist/browser/eq.view.min.css.map +0 -1
@@ -1,329 +1,331 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- import { i18n, utils as dataUtils } from '@easydata/core';
15
- import { Widget, WidgetGroup, QueryChangeAction, QueryChangePart, SortDirection, ExprTag } from '@easyquery/core';
16
- import { domel } from '@easydata/ui';
17
- import { eqCssPrefix } from '../utils/utils';
18
- import { browserUtils } from '../utils/browser_utils';
19
- import { PopupMenu } from '../utils/popup_menu';
20
- import { ColumnRendererSB } from './renderers/sortingbar/column_renderer_sp';
21
- var SortingBar = /** @class */ (function (_super) {
22
- __extends(SortingBar, _super);
23
- function SortingBar(slot) {
24
- var _this = _super.call(this, slot) || this;
25
- _this.options = {
26
- showAddRow: true,
27
- attrElementFormat: '{entity} {attr}',
28
- titleElementFormat: null,
29
- menuOptions: {
30
- showSearchBoxAfter: 30,
31
- searchBoxAutoFocus: true,
32
- activateOnMouseOver: true,
33
- adjustHeight: true,
34
- itemRenderedCallback: null
35
- },
36
- };
37
- _this.sortMenuList = [
38
- { id: 'None', text: i18n.getText('CmdNotSorted') },
39
- { id: 'Ascending', text: i18n.getText('CmdAscending') },
40
- { id: 'Descending', text: i18n.getText('CmdDescending') }
41
- ];
42
- domel(_this.slot)
43
- .addClass(_this.cssPrefix + "-panel")
44
- .addClass(browserUtils.getMobileCssClass());
45
- _this.group = WidgetGroup.Query;
46
- return _this;
47
- }
48
- Object.defineProperty(SortingBar.prototype, "cssPrefix", {
49
- get: function () {
50
- return "eqjs-sb";
51
- },
52
- enumerable: true,
53
- configurable: true
54
- });
55
- SortingBar.prototype.getWidgetType = function () {
56
- return 'sortingBar';
57
- };
58
- SortingBar.prototype.init = function (context, options) {
59
- _super.prototype.init.call(this, context, options);
60
- this.setOptions(options);
61
- this.destroyCore();
62
- this.attachQueryObserver();
63
- };
64
- SortingBar.prototype.setOptions = function (options) {
65
- dataUtils.assignDeep(this.options, options);
66
- };
67
- SortingBar.prototype.attachQueryObserver = function () {
68
- var _this = this;
69
- var query = this.getQuery();
70
- this.queryEventCallbackId = query.addChangedCallback(function (event) {
71
- //if something has changed, and that change is related to columns
72
- var edata = event.data;
73
- if (!edata || (edata.part != QueryChangePart.SortingColumns
74
- && edata.part != QueryChangePart.Columns && edata.part != QueryChangePart.All)) {
75
- return;
76
- }
77
- switch (edata.action) {
78
- case QueryChangeAction.Modify: {
79
- var columns = edata.changee;
80
- var modifyColumn_1 = function (column) {
81
- var colEl = _this.columnsBlock.querySelector("div[data-id='" + column.id + "']");
82
- if (colEl) {
83
- _this.renderColumn(column, colEl);
84
- }
85
- };
86
- if (Array.isArray(columns)) {
87
- columns.forEach(function (col) { return modifyColumn_1(col); });
88
- }
89
- else {
90
- modifyColumn_1(columns);
91
- }
92
- break;
93
- }
94
- case QueryChangeAction.Add: {
95
- var columns = edata.changee;
96
- var addColumn_1 = function (column) {
97
- _this.addColumnElement(column);
98
- };
99
- if (Array.isArray(columns)) {
100
- columns.forEach(function (col) { return addColumn_1(col); });
101
- }
102
- else {
103
- addColumn_1(columns);
104
- }
105
- break;
106
- }
107
- case QueryChangeAction.Delete: {
108
- var columns = edata.changee;
109
- var deleteColumn_1 = function (column) {
110
- var colEl = _this.columnsBlock.querySelector("div[data-id='" + column.id + "']");
111
- if (colEl)
112
- _this.columnsBlock.removeChild(colEl);
113
- };
114
- if (Array.isArray(columns)) {
115
- columns.forEach(function (col) { return deleteColumn_1(col); });
116
- }
117
- else {
118
- deleteColumn_1(columns);
119
- }
120
- break;
121
- }
122
- default:
123
- _this.refresh();
124
- break;
125
- }
126
- });
127
- };
128
- SortingBar.prototype.detachQueryObserver = function () {
129
- if (this.queryEventCallbackId) {
130
- var query = this.getContext().getQuery();
131
- query.removeChangedCallback(this.queryEventCallbackId);
132
- }
133
- };
134
- SortingBar.prototype.getQuery = function () {
135
- return this.getContext().getQuery();
136
- };
137
- SortingBar.prototype.destroyCore = function () {
138
- this.detachQueryObserver();
139
- this.clear();
140
- };
141
- SortingBar.prototype.refreshCore = function () {
142
- this.clear();
143
- this.render();
144
- };
145
- SortingBar.prototype.renderAddRowButton = function () {
146
- var _this = this;
147
- domel(this.addRowButton)
148
- .addClass(eqCssPrefix + "-addrow", this.cssPrefix + "-addrow", eqCssPrefix + "-addrow-empty")
149
- .addClass(browserUtils.getMobileCssClass())
150
- .title(i18n.getText('CmdClickToAddColumn'))
151
- .addChild('a', function (builder) { return builder
152
- .attr('href', 'javascript:void(0)')
153
- .on('click', function (e) {
154
- e.preventDefault();
155
- _this.showEntitiesMenu({
156
- anchor: e.target,
157
- selectedIds: null,
158
- itemSelectedCallback: function (data, items) {
159
- var attrid = data.id;
160
- _this.addNewColumn(attrid);
161
- return false;
162
- }
163
- });
164
- }); });
165
- if (browserUtils.isMobileMode()) {
166
- domel(this.columnsBlock)
167
- .addChildElement(this.addRowButton);
168
- }
169
- };
170
- SortingBar.prototype.showEntitiesMenu = function (menuOptions) {
171
- this.entitiesMenu.showMenu(menuOptions);
172
- };
173
- SortingBar.prototype.createEntitiesMenu = function () {
174
- var model = this.getContext().getModel();
175
- if (!model || model.isEmpty())
176
- return null;
177
- var menuId = this.slot.id;
178
- if (menuId) {
179
- menuId += '-EntitiesMenu';
180
- }
181
- var entitiesList = model.getEntitiesTree({ addUIC: false, addUIR: false, addUIS: true });
182
- var options = { items: entitiesList,
183
- adjustHeight: this.options.adjustEntitiesMenuHeight, id: menuId, domWriteItemsId: this.options.domWriteItemsId };
184
- this.entitiesMenu = new PopupMenu(options);
185
- };
186
- SortingBar.prototype.createSortMenu = function () {
187
- var model = this.getContext().getModel();
188
- if (!model || model.isEmpty())
189
- return null;
190
- var menuId = this.slot.id;
191
- if (menuId) {
192
- menuId += '-SortMenu';
193
- }
194
- var items = this.sortMenuList;
195
- var menuOptions = { "items": items, id: menuId };
196
- menuOptions.searchBoxAlwaysShown = false;
197
- this.sortMenu = new PopupMenu(menuOptions);
198
- };
199
- SortingBar.prototype.render = function () {
200
- var _this = this;
201
- this.createEntitiesMenu();
202
- this.createSortMenu();
203
- this.columnsBlock =
204
- domel('div')
205
- .addClass(this.cssPrefix + "-columns")
206
- .addClass(browserUtils.getMobileCssClass())
207
- .toDOM();
208
- if (this.options.showAddRow) {
209
- this.addRowButton =
210
- domel('div')
211
- .toDOM();
212
- if (browserUtils.isMobileMode()) {
213
- domel(this.columnsBlock)
214
- .addChildElement(this.addRowButton);
215
- }
216
- else {
217
- domel(this.slot)
218
- .addChildElement(this.addRowButton);
219
- }
220
- this.renderAddRowButton();
221
- }
222
- domel(this.slot)
223
- .addChildElement(this.columnsBlock);
224
- var query = this.context.getQuery();
225
- var columns = query.getColumns().concat(query.getJustSortedColumns());
226
- columns.forEach(function (column, index) {
227
- var slot = _this.renderColumn(column);
228
- _this.columnsBlock.appendChild(slot);
229
- });
230
- };
231
- SortingBar.prototype.addNewColumn = function (attrId) {
232
- var _this = this;
233
- var model = this.getContext().getModel();
234
- var query = this.getContext().getQuery();
235
- var getColumnByAttrId = function (attrid) {
236
- var attribute = model.getAttributeById(attrid);
237
- if (!attribute) {
238
- return null;
239
- }
240
- if (!attribute.useInSorting) {
241
- if (attribute.lookupAttr) {
242
- attrid = attribute.lookupAttr;
243
- attribute = model.getAttributeById(attrid);
244
- if (!attribute || !attribute.useInSorting) {
245
- return null;
246
- }
247
- }
248
- else
249
- return null;
250
- }
251
- var column = query.createColumn(true);
252
- column.caption = _this.getDefaultColumnCaption(attribute);
253
- column.sorting = SortDirection.Ascending;
254
- column.sortIndex = _this.getQuery().getColumnSortIndex(column);
255
- column.expr.tag = ExprTag.EntityAttribute;
256
- //column.expr.id = attrid;
257
- column.expr.setValue(attrid, true);
258
- column.params.concat(attribute.params);
259
- return column;
260
- };
261
- if (!this.getContext().getQuery()) {
262
- return;
263
- }
264
- return this.addColumn(getColumnByAttrId(attrId));
265
- };
266
- SortingBar.prototype.getDefaultColumnCaption = function (attr) {
267
- var format = this.options.titleElementFormat || this.options.attrElementFormat;
268
- var model = this.getContext().getModel();
269
- return model.getAttributeText(attr, format);
270
- };
271
- SortingBar.prototype.addColumn = function (column) {
272
- var query = this.getContext().getQuery();
273
- if (!query) {
274
- return;
275
- }
276
- column = this.checkColumn(column);
277
- if (!column) {
278
- return;
279
- }
280
- column = query.addColumn({
281
- caption: column.caption,
282
- attributeId: column.expr.value,
283
- sorting: column.sorting,
284
- sortIndex: column.sortIndex,
285
- justsorted: true
286
- });
287
- query.fireChangedEvent({
288
- part: QueryChangePart.SortingColumns,
289
- action: QueryChangeAction.Add,
290
- changee: column
291
- });
292
- return column;
293
- };
294
- SortingBar.prototype.checkColumn = function (col) {
295
- var query = this.getContext().getQuery();
296
- var columns = query.getColumns()
297
- .concat(query.getJustSortedColumns());
298
- var colJson = JSON.stringify(col.expr.saveToData());
299
- for (var i = 0; i < columns.length; i++) {
300
- var qcolJson = JSON.stringify(columns[i].expr.saveToData());
301
- if (qcolJson === colJson) {
302
- return null;
303
- }
304
- }
305
- return col;
306
- };
307
- SortingBar.prototype.renderColumn = function (column, elem) {
308
- var renderer = new ColumnRendererSB(this, column, elem);
309
- if (renderer) {
310
- var columnSlot = renderer.render();
311
- return columnSlot;
312
- }
313
- return null;
314
- };
315
- //adds one column to the bar on the specified position
316
- SortingBar.prototype.addColumnElement = function (column) {
317
- var newColBlock = this.renderColumn(column);
318
- this.columnsBlock.appendChild(newColBlock);
319
- if (this.options.columnRenderedCallback) {
320
- this.options.columnRenderedCallback(newColBlock);
321
- }
322
- };
323
- SortingBar.prototype.clear = function () {
324
- this.slot.innerHTML = '';
325
- };
326
- return SortingBar;
327
- }(Widget));
328
- export { SortingBar };
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { i18n, utils as dataUtils } from '@easydata/core';
17
+ import { Widget, WidgetGroup, QueryChangeAction, QueryChangePart, SortDirection, ExprTag } from '@easyquery/core';
18
+ import { domel } from '@easydata/ui';
19
+ import { eqCssPrefix } from '../utils/utils';
20
+ import { browserUtils } from '../utils/browser_utils';
21
+ import { PopupMenu } from '../utils/popup_menu';
22
+ import { ColumnRendererSB } from './renderers/sortingbar/column_renderer_sp';
23
+ var SortingBar = /** @class */ (function (_super) {
24
+ __extends(SortingBar, _super);
25
+ function SortingBar(slot) {
26
+ var _this = _super.call(this, slot) || this;
27
+ _this.options = {
28
+ showAddRow: true,
29
+ attrElementFormat: '{entity} {attr}',
30
+ titleElementFormat: null,
31
+ menuOptions: {
32
+ showSearchBoxAfter: 30,
33
+ searchBoxAutoFocus: true,
34
+ activateOnMouseOver: true,
35
+ adjustHeight: true,
36
+ itemRenderedCallback: null
37
+ },
38
+ };
39
+ _this.sortMenuList = [
40
+ { id: 'None', text: i18n.getText('CmdNotSorted') },
41
+ { id: 'Ascending', text: i18n.getText('CmdAscending') },
42
+ { id: 'Descending', text: i18n.getText('CmdDescending') }
43
+ ];
44
+ domel(_this.slot)
45
+ .addClass("".concat(_this.cssPrefix, "-panel"))
46
+ .addClass(browserUtils.getMobileCssClass());
47
+ _this.group = WidgetGroup.Query;
48
+ return _this;
49
+ }
50
+ Object.defineProperty(SortingBar.prototype, "cssPrefix", {
51
+ get: function () {
52
+ return "eqjs-sb";
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ SortingBar.prototype.getWidgetType = function () {
58
+ return 'sortingBar';
59
+ };
60
+ SortingBar.prototype.init = function (context, options) {
61
+ _super.prototype.init.call(this, context, options);
62
+ this.setOptions(options);
63
+ this.destroyCore();
64
+ this.attachQueryObserver();
65
+ };
66
+ SortingBar.prototype.setOptions = function (options) {
67
+ dataUtils.assignDeep(this.options, options);
68
+ };
69
+ SortingBar.prototype.attachQueryObserver = function () {
70
+ var _this = this;
71
+ var query = this.getQuery();
72
+ this.queryEventCallbackId = query.addChangedCallback(function (event) {
73
+ //if something has changed, and that change is related to columns
74
+ var edata = event.data;
75
+ if (!edata || (edata.part != QueryChangePart.SortingColumns
76
+ && edata.part != QueryChangePart.Columns && edata.part != QueryChangePart.All)) {
77
+ return;
78
+ }
79
+ switch (edata.action) {
80
+ case QueryChangeAction.Modify: {
81
+ var columns = edata.changee;
82
+ var modifyColumn_1 = function (column) {
83
+ var colEl = _this.columnsBlock.querySelector("div[data-id='".concat(column.id, "']"));
84
+ if (colEl) {
85
+ _this.renderColumn(column, colEl);
86
+ }
87
+ };
88
+ if (Array.isArray(columns)) {
89
+ columns.forEach(function (col) { return modifyColumn_1(col); });
90
+ }
91
+ else {
92
+ modifyColumn_1(columns);
93
+ }
94
+ break;
95
+ }
96
+ case QueryChangeAction.Add: {
97
+ var columns = edata.changee;
98
+ var addColumn_1 = function (column) {
99
+ _this.addColumnElement(column);
100
+ };
101
+ if (Array.isArray(columns)) {
102
+ columns.forEach(function (col) { return addColumn_1(col); });
103
+ }
104
+ else {
105
+ addColumn_1(columns);
106
+ }
107
+ break;
108
+ }
109
+ case QueryChangeAction.Delete: {
110
+ var columns = edata.changee;
111
+ var deleteColumn_1 = function (column) {
112
+ var colEl = _this.columnsBlock.querySelector("div[data-id='".concat(column.id, "']"));
113
+ if (colEl)
114
+ _this.columnsBlock.removeChild(colEl);
115
+ };
116
+ if (Array.isArray(columns)) {
117
+ columns.forEach(function (col) { return deleteColumn_1(col); });
118
+ }
119
+ else {
120
+ deleteColumn_1(columns);
121
+ }
122
+ break;
123
+ }
124
+ default:
125
+ _this.refresh();
126
+ break;
127
+ }
128
+ });
129
+ };
130
+ SortingBar.prototype.detachQueryObserver = function () {
131
+ if (this.queryEventCallbackId) {
132
+ var query = this.getContext().getQuery();
133
+ query.removeChangedCallback(this.queryEventCallbackId);
134
+ }
135
+ };
136
+ SortingBar.prototype.getQuery = function () {
137
+ return this.getContext().getQuery();
138
+ };
139
+ SortingBar.prototype.destroyCore = function () {
140
+ this.detachQueryObserver();
141
+ this.clear();
142
+ };
143
+ SortingBar.prototype.refreshCore = function () {
144
+ this.clear();
145
+ this.render();
146
+ };
147
+ SortingBar.prototype.renderAddRowButton = function () {
148
+ var _this = this;
149
+ domel(this.addRowButton)
150
+ .addClass("".concat(eqCssPrefix, "-addrow"), "".concat(this.cssPrefix, "-addrow"), "".concat(eqCssPrefix, "-addrow-empty"))
151
+ .addClass(browserUtils.getMobileCssClass())
152
+ .title(i18n.getText('CmdClickToAddColumn'))
153
+ .addChild('a', function (builder) { return builder
154
+ .attr('href', 'javascript:void(0)')
155
+ .on('click', function (e) {
156
+ e.preventDefault();
157
+ _this.showEntitiesMenu({
158
+ anchor: e.target,
159
+ selectedIds: null,
160
+ itemSelectedCallback: function (data, items) {
161
+ var attrid = data.id;
162
+ _this.addNewColumn(attrid);
163
+ return false;
164
+ }
165
+ });
166
+ }); });
167
+ if (browserUtils.isMobileMode()) {
168
+ domel(this.columnsBlock)
169
+ .addChildElement(this.addRowButton);
170
+ }
171
+ };
172
+ SortingBar.prototype.showEntitiesMenu = function (menuOptions) {
173
+ this.entitiesMenu.showMenu(menuOptions);
174
+ };
175
+ SortingBar.prototype.createEntitiesMenu = function () {
176
+ var model = this.getContext().getModel();
177
+ if (!model || model.isEmpty())
178
+ return null;
179
+ var menuId = this.slot.id;
180
+ if (menuId) {
181
+ menuId += '-EntitiesMenu';
182
+ }
183
+ var entitiesList = model.getEntitiesTree({ addUIC: false, addUIR: false, addUIS: true });
184
+ var options = { items: entitiesList,
185
+ adjustHeight: this.options.adjustEntitiesMenuHeight, id: menuId, domWriteItemsId: this.options.domWriteItemsId };
186
+ this.entitiesMenu = new PopupMenu(options);
187
+ };
188
+ SortingBar.prototype.createSortMenu = function () {
189
+ var model = this.getContext().getModel();
190
+ if (!model || model.isEmpty())
191
+ return null;
192
+ var menuId = this.slot.id;
193
+ if (menuId) {
194
+ menuId += '-SortMenu';
195
+ }
196
+ var items = this.sortMenuList;
197
+ var menuOptions = { "items": items, id: menuId };
198
+ menuOptions.searchBoxAlwaysShown = false;
199
+ this.sortMenu = new PopupMenu(menuOptions);
200
+ };
201
+ SortingBar.prototype.render = function () {
202
+ var _this = this;
203
+ this.createEntitiesMenu();
204
+ this.createSortMenu();
205
+ this.columnsBlock =
206
+ domel('div')
207
+ .addClass("".concat(this.cssPrefix, "-columns"))
208
+ .addClass(browserUtils.getMobileCssClass())
209
+ .toDOM();
210
+ if (this.options.showAddRow) {
211
+ this.addRowButton =
212
+ domel('div')
213
+ .toDOM();
214
+ if (browserUtils.isMobileMode()) {
215
+ domel(this.columnsBlock)
216
+ .addChildElement(this.addRowButton);
217
+ }
218
+ else {
219
+ domel(this.slot)
220
+ .addChildElement(this.addRowButton);
221
+ }
222
+ this.renderAddRowButton();
223
+ }
224
+ domel(this.slot)
225
+ .addChildElement(this.columnsBlock);
226
+ var query = this.context.getQuery();
227
+ var columns = query.getColumns().concat(query.getJustSortedColumns());
228
+ columns.forEach(function (column, index) {
229
+ var slot = _this.renderColumn(column);
230
+ _this.columnsBlock.appendChild(slot);
231
+ });
232
+ };
233
+ SortingBar.prototype.addNewColumn = function (attrId) {
234
+ var _this = this;
235
+ var model = this.getContext().getModel();
236
+ var query = this.getContext().getQuery();
237
+ var getColumnByAttrId = function (attrid) {
238
+ var attribute = model.getAttributeById(attrid);
239
+ if (!attribute) {
240
+ return null;
241
+ }
242
+ if (!attribute.useInSorting) {
243
+ if (attribute.lookupAttr) {
244
+ attrid = attribute.lookupAttr;
245
+ attribute = model.getAttributeById(attrid);
246
+ if (!attribute || !attribute.useInSorting) {
247
+ return null;
248
+ }
249
+ }
250
+ else
251
+ return null;
252
+ }
253
+ var column = query.createColumn(true);
254
+ column.caption = _this.getDefaultColumnCaption(attribute);
255
+ column.sorting = SortDirection.Ascending;
256
+ column.sortIndex = _this.getQuery().getColumnSortIndex(column);
257
+ column.expr.tag = ExprTag.EntityAttribute;
258
+ //column.expr.id = attrid;
259
+ column.expr.setValue(attrid, true);
260
+ column.params.concat(attribute.params);
261
+ return column;
262
+ };
263
+ if (!this.getContext().getQuery()) {
264
+ return;
265
+ }
266
+ return this.addColumn(getColumnByAttrId(attrId));
267
+ };
268
+ SortingBar.prototype.getDefaultColumnCaption = function (attr) {
269
+ var format = this.options.titleElementFormat || this.options.attrElementFormat;
270
+ var model = this.getContext().getModel();
271
+ return model.getAttributeText(attr, format);
272
+ };
273
+ SortingBar.prototype.addColumn = function (column) {
274
+ var query = this.getContext().getQuery();
275
+ if (!query) {
276
+ return;
277
+ }
278
+ column = this.checkColumn(column);
279
+ if (!column) {
280
+ return;
281
+ }
282
+ column = query.addColumn({
283
+ caption: column.caption,
284
+ attributeId: column.expr.value,
285
+ sorting: column.sorting,
286
+ sortIndex: column.sortIndex,
287
+ justsorted: true
288
+ });
289
+ query.fireChangedEvent({
290
+ part: QueryChangePart.SortingColumns,
291
+ action: QueryChangeAction.Add,
292
+ changee: column
293
+ });
294
+ return column;
295
+ };
296
+ SortingBar.prototype.checkColumn = function (col) {
297
+ var query = this.getContext().getQuery();
298
+ var columns = query.getColumns()
299
+ .concat(query.getJustSortedColumns());
300
+ var colJson = JSON.stringify(col.expr.saveToData());
301
+ for (var i = 0; i < columns.length; i++) {
302
+ var qcolJson = JSON.stringify(columns[i].expr.saveToData());
303
+ if (qcolJson === colJson) {
304
+ return null;
305
+ }
306
+ }
307
+ return col;
308
+ };
309
+ SortingBar.prototype.renderColumn = function (column, elem) {
310
+ var renderer = new ColumnRendererSB(this, column, elem);
311
+ if (renderer) {
312
+ var columnSlot = renderer.render();
313
+ return columnSlot;
314
+ }
315
+ return null;
316
+ };
317
+ //adds one column to the bar on the specified position
318
+ SortingBar.prototype.addColumnElement = function (column) {
319
+ var newColBlock = this.renderColumn(column);
320
+ this.columnsBlock.appendChild(newColBlock);
321
+ if (this.options.columnRenderedCallback) {
322
+ this.options.columnRenderedCallback(newColBlock);
323
+ }
324
+ };
325
+ SortingBar.prototype.clear = function () {
326
+ this.slot.innerHTML = '';
327
+ };
328
+ return SortingBar;
329
+ }(Widget));
330
+ export { SortingBar };
329
331
  //# sourceMappingURL=sorting_bar.js.map