@easyquery/ui 7.2.5-beta01 → 7.2.5-rc02

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 (235) hide show
  1. package/dist/{browser/eq.core.css → assets/css/easyquery.ui.css} +2120 -3479
  2. package/dist/easyquery.ui.cjs.js +14441 -0
  3. package/dist/easyquery.ui.esm.js +14381 -0
  4. package/dist/types/i18n/text_resources.d.ts +1 -0
  5. package/dist/{lib → types}/views/html_data_filter_view.d.ts +3 -3
  6. package/dist/{lib → types}/views/view.d.ts +6 -4
  7. package/dist/{lib → types}/widgets/charts/chart_widget.d.ts +3 -4
  8. package/dist/{lib → types}/widgets/charts/chart_widget_chartjs.d.ts +3 -4
  9. package/dist/{lib → types}/widgets/charts/chart_widget_google.d.ts +3 -4
  10. package/dist/{lib → types}/widgets/query_panel.d.ts +2 -1
  11. package/dist/{lib → types}/widgets/renderers/querypanel/subquery_expression_renderer.d.ts +2 -4
  12. package/package.json +16 -54
  13. package/api-eq-community.js +0 -15
  14. package/dist/browser/eq.community.css.map +0 -1
  15. package/dist/browser/eq.community.js +0 -34654
  16. package/dist/browser/eq.community.js.map +0 -1
  17. package/dist/browser/eq.community.min.js +0 -2
  18. package/dist/browser/eq.community.min.js.LICENSE.txt +0 -11
  19. package/dist/browser/eq.community.min.js.map +0 -1
  20. package/dist/browser/eq.core.min.css +0 -3
  21. package/dist/browser/eq.view.css +0 -607
  22. package/dist/browser/eq.view.css.map +0 -1
  23. package/dist/browser/eq.view.min.css +0 -1
  24. package/dist/bundles/easyquery.ui.js +0 -23077
  25. package/dist/bundles/easyquery.ui.js.map +0 -1
  26. package/dist/bundles/easyquery.ui.min.js +0 -3
  27. package/dist/bundles/easyquery.ui.min.js.LICENSE.txt +0 -3
  28. package/dist/bundles/easyquery.ui.min.js.map +0 -1
  29. package/dist/lib/dialog/aggr_settings_dialog.js +0 -107
  30. package/dist/lib/dialog/aggr_settings_dialog.js.map +0 -1
  31. package/dist/lib/dialog/export_dialog.js +0 -64
  32. package/dist/lib/dialog/export_dialog.js.map +0 -1
  33. package/dist/lib/extensions.d.ts +0 -7
  34. package/dist/lib/extensions.js +0 -14
  35. package/dist/lib/extensions.js.map +0 -1
  36. package/dist/lib/facets/chart_facet.js +0 -241
  37. package/dist/lib/facets/chart_facet.js.map +0 -1
  38. package/dist/lib/facets/datatable_facet.js +0 -72
  39. package/dist/lib/facets/datatable_facet.js.map +0 -1
  40. package/dist/lib/facets/pivot_table_facet.js +0 -699
  41. package/dist/lib/facets/pivot_table_facet.js.map +0 -1
  42. package/dist/lib/facets/result_facet.js +0 -247
  43. package/dist/lib/facets/result_facet.js.map +0 -1
  44. package/dist/lib/i18n/text_resources.js +0 -261
  45. package/dist/lib/i18n/text_resources.js.map +0 -1
  46. package/dist/lib/public_api.js +0 -93
  47. package/dist/lib/public_api.js.map +0 -1
  48. package/dist/lib/types/facet_type.js +0 -7
  49. package/dist/lib/types/facet_type.js.map +0 -1
  50. package/dist/lib/types/qp_editable_part.js +0 -17
  51. package/dist/lib/types/qp_editable_part.js.map +0 -1
  52. package/dist/lib/utils/browser_utils.js +0 -59
  53. package/dist/lib/utils/browser_utils.js.map +0 -1
  54. package/dist/lib/utils/display_format_parser.js +0 -62
  55. package/dist/lib/utils/display_format_parser.js.map +0 -1
  56. package/dist/lib/utils/dropdown.js +0 -58
  57. package/dist/lib/utils/dropdown.js.map +0 -1
  58. package/dist/lib/utils/popup_menu.js +0 -1260
  59. package/dist/lib/utils/popup_menu.js.map +0 -1
  60. package/dist/lib/utils/utils.js +0 -47
  61. package/dist/lib/utils/utils.js.map +0 -1
  62. package/dist/lib/views/adv_search_view.js +0 -713
  63. package/dist/lib/views/adv_search_view.js.map +0 -1
  64. package/dist/lib/views/data_filter_view.js +0 -80
  65. package/dist/lib/views/data_filter_view.js.map +0 -1
  66. package/dist/lib/views/html_data_filter_view.js +0 -45
  67. package/dist/lib/views/html_data_filter_view.js.map +0 -1
  68. package/dist/lib/views/report_view.js +0 -733
  69. package/dist/lib/views/report_view.js.map +0 -1
  70. package/dist/lib/views/view.js +0 -534
  71. package/dist/lib/views/view.js.map +0 -1
  72. package/dist/lib/views/view_options.js +0 -2
  73. package/dist/lib/views/view_options.js.map +0 -1
  74. package/dist/lib/widgets/aggregation_bar.js +0 -146
  75. package/dist/lib/widgets/aggregation_bar.js.map +0 -1
  76. package/dist/lib/widgets/charts/chart_type.js +0 -16
  77. package/dist/lib/widgets/charts/chart_type.js.map +0 -1
  78. package/dist/lib/widgets/charts/chart_widget.js +0 -385
  79. package/dist/lib/widgets/charts/chart_widget.js.map +0 -1
  80. package/dist/lib/widgets/charts/chart_widget_chartjs.js +0 -187
  81. package/dist/lib/widgets/charts/chart_widget_chartjs.js.map +0 -1
  82. package/dist/lib/widgets/charts/chart_widget_google.js +0 -166
  83. package/dist/lib/widgets/charts/chart_widget_google.js.map +0 -1
  84. package/dist/lib/widgets/columns_bar.js +0 -687
  85. package/dist/lib/widgets/columns_bar.js.map +0 -1
  86. package/dist/lib/widgets/columns_panel.js +0 -721
  87. package/dist/lib/widgets/columns_panel.js.map +0 -1
  88. package/dist/lib/widgets/easy_grid_widget.js +0 -169
  89. package/dist/lib/widgets/easy_grid_widget.js.map +0 -1
  90. package/dist/lib/widgets/entities_panel.js +0 -623
  91. package/dist/lib/widgets/entities_panel.js.map +0 -1
  92. package/dist/lib/widgets/eq_result_html_grid.js +0 -186
  93. package/dist/lib/widgets/eq_result_html_grid.js.map +0 -1
  94. package/dist/lib/widgets/export_widget.js +0 -58
  95. package/dist/lib/widgets/export_widget.js.map +0 -1
  96. package/dist/lib/widgets/facet_container.js +0 -54
  97. package/dist/lib/widgets/facet_container.js.map +0 -1
  98. package/dist/lib/widgets/filter_bar.js +0 -260
  99. package/dist/lib/widgets/filter_bar.js.map +0 -1
  100. package/dist/lib/widgets/grid.js +0 -80
  101. package/dist/lib/widgets/grid.js.map +0 -1
  102. package/dist/lib/widgets/html_content_widget.js +0 -72
  103. package/dist/lib/widgets/html_content_widget.js.map +0 -1
  104. package/dist/lib/widgets/locale_widget.js +0 -80
  105. package/dist/lib/widgets/locale_widget.js.map +0 -1
  106. package/dist/lib/widgets/manage_drilldown_widget.js +0 -156
  107. package/dist/lib/widgets/manage_drilldown_widget.js.map +0 -1
  108. package/dist/lib/widgets/process_widget.js +0 -51
  109. package/dist/lib/widgets/process_widget.js.map +0 -1
  110. package/dist/lib/widgets/query_panel.js +0 -676
  111. package/dist/lib/widgets/query_panel.js.map +0 -1
  112. package/dist/lib/widgets/queryname_widget.js +0 -119
  113. package/dist/lib/widgets/queryname_widget.js.map +0 -1
  114. package/dist/lib/widgets/renderers/aggr_settings/aggr_settings_renderer.js +0 -430
  115. package/dist/lib/widgets/renderers/aggr_settings/aggr_settings_renderer.js.map +0 -1
  116. package/dist/lib/widgets/renderers/base_element_renderer.js +0 -64
  117. package/dist/lib/widgets/renderers/base_element_renderer.js.map +0 -1
  118. package/dist/lib/widgets/renderers/columnsbar/aggrfunc_column_renderer_cb.js +0 -50
  119. package/dist/lib/widgets/renderers/columnsbar/aggrfunc_column_renderer_cb.js.map +0 -1
  120. package/dist/lib/widgets/renderers/columnsbar/attr_column_renderer_cb.js +0 -86
  121. package/dist/lib/widgets/renderers/columnsbar/attr_column_renderer_cb.js.map +0 -1
  122. package/dist/lib/widgets/renderers/columnsbar/column_renderer_cb.js +0 -532
  123. package/dist/lib/widgets/renderers/columnsbar/column_renderer_cb.js.map +0 -1
  124. package/dist/lib/widgets/renderers/columnsbar/editable_column_renderer_cb.js +0 -102
  125. package/dist/lib/widgets/renderers/columnsbar/editable_column_renderer_cb.js.map +0 -1
  126. package/dist/lib/widgets/renderers/columnspanel/aggrfunc_column_renderer_cp.js +0 -173
  127. package/dist/lib/widgets/renderers/columnspanel/aggrfunc_column_renderer_cp.js.map +0 -1
  128. package/dist/lib/widgets/renderers/columnspanel/attr_column_renderer_cp.js +0 -193
  129. package/dist/lib/widgets/renderers/columnspanel/attr_column_renderer_cp.js.map +0 -1
  130. package/dist/lib/widgets/renderers/columnspanel/column_renderer_cp.js +0 -811
  131. package/dist/lib/widgets/renderers/columnspanel/column_renderer_cp.js.map +0 -1
  132. package/dist/lib/widgets/renderers/columnspanel/editable_column_renderer_cp.js +0 -277
  133. package/dist/lib/widgets/renderers/columnspanel/editable_column_renderer_cp.js.map +0 -1
  134. package/dist/lib/widgets/renderers/dropdown_renderer.js +0 -43
  135. package/dist/lib/widgets/renderers/dropdown_renderer.js.map +0 -1
  136. package/dist/lib/widgets/renderers/querypanel/addrow_renderer.js +0 -88
  137. package/dist/lib/widgets/renderers/querypanel/addrow_renderer.js.map +0 -1
  138. package/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js +0 -72
  139. package/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js.map +0 -1
  140. package/dist/lib/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.js +0 -42
  141. package/dist/lib/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.js.map +0 -1
  142. package/dist/lib/widgets/renderers/querypanel/condition_group_renderer.js +0 -232
  143. package/dist/lib/widgets/renderers/querypanel/condition_group_renderer.js.map +0 -1
  144. package/dist/lib/widgets/renderers/querypanel/condition_renderer.js +0 -510
  145. package/dist/lib/widgets/renderers/querypanel/condition_renderer.js.map +0 -1
  146. package/dist/lib/widgets/renderers/querypanel/datetime_expression_render.js +0 -109
  147. package/dist/lib/widgets/renderers/querypanel/datetime_expression_render.js.map +0 -1
  148. package/dist/lib/widgets/renderers/querypanel/expression_renderer.js +0 -92
  149. package/dist/lib/widgets/renderers/querypanel/expression_renderer.js.map +0 -1
  150. package/dist/lib/widgets/renderers/querypanel/input_expression_renderer.js +0 -166
  151. package/dist/lib/widgets/renderers/querypanel/input_expression_renderer.js.map +0 -1
  152. package/dist/lib/widgets/renderers/querypanel/list_expression_renderer.js +0 -318
  153. package/dist/lib/widgets/renderers/querypanel/list_expression_renderer.js.map +0 -1
  154. package/dist/lib/widgets/renderers/querypanel/operator_renderer.js +0 -96
  155. package/dist/lib/widgets/renderers/querypanel/operator_renderer.js.map +0 -1
  156. package/dist/lib/widgets/renderers/querypanel/subquery_expression_renderer.js +0 -238
  157. package/dist/lib/widgets/renderers/querypanel/subquery_expression_renderer.js.map +0 -1
  158. package/dist/lib/widgets/renderers/querypanel/text_renderer.js +0 -37
  159. package/dist/lib/widgets/renderers/querypanel/text_renderer.js.map +0 -1
  160. package/dist/lib/widgets/renderers/sortingbar/column_renderer_sb.js +0 -173
  161. package/dist/lib/widgets/renderers/sortingbar/column_renderer_sb.js.map +0 -1
  162. package/dist/lib/widgets/result_facets_panel.js +0 -504
  163. package/dist/lib/widgets/result_facets_panel.js.map +0 -1
  164. package/dist/lib/widgets/sorting_bar.js +0 -334
  165. package/dist/lib/widgets/sorting_bar.js.map +0 -1
  166. package/dist/lib/widgets/statement_panel.js +0 -61
  167. package/dist/lib/widgets/statement_panel.js.map +0 -1
  168. package/dist/lib/widgets/widget_options.js +0 -2
  169. package/dist/lib/widgets/widget_options.js.map +0 -1
  170. package/styles-eq-core.js +0 -10
  171. package/styles-eq-view.js +0 -1
  172. package/tsconfig.json +0 -23
  173. package/webpack.config.js +0 -181
  174. /package/dist/{lib → types}/dialog/aggr_settings_dialog.d.ts +0 -0
  175. /package/dist/{lib → types}/dialog/export_dialog.d.ts +0 -0
  176. /package/dist/{lib/i18n/text_resources.d.ts → types/extensions.d.ts} +0 -0
  177. /package/dist/{lib → types}/facets/chart_facet.d.ts +0 -0
  178. /package/dist/{lib → types}/facets/datatable_facet.d.ts +0 -0
  179. /package/dist/{lib → types}/facets/pivot_table_facet.d.ts +0 -0
  180. /package/dist/{lib → types}/facets/result_facet.d.ts +0 -0
  181. /package/dist/{lib → types}/public_api.d.ts +0 -0
  182. /package/dist/{lib → types}/types/facet_type.d.ts +0 -0
  183. /package/dist/{lib → types}/types/qp_editable_part.d.ts +0 -0
  184. /package/dist/{lib → types}/utils/browser_utils.d.ts +0 -0
  185. /package/dist/{lib → types}/utils/display_format_parser.d.ts +0 -0
  186. /package/dist/{lib → types}/utils/dropdown.d.ts +0 -0
  187. /package/dist/{lib → types}/utils/popup_menu.d.ts +0 -0
  188. /package/dist/{lib → types}/utils/utils.d.ts +0 -0
  189. /package/dist/{lib → types}/views/adv_search_view.d.ts +0 -0
  190. /package/dist/{lib → types}/views/data_filter_view.d.ts +0 -0
  191. /package/dist/{lib → types}/views/report_view.d.ts +0 -0
  192. /package/dist/{lib → types}/views/view_options.d.ts +0 -0
  193. /package/dist/{lib → types}/widgets/aggregation_bar.d.ts +0 -0
  194. /package/dist/{lib → types}/widgets/charts/chart_type.d.ts +0 -0
  195. /package/dist/{lib → types}/widgets/columns_bar.d.ts +0 -0
  196. /package/dist/{lib → types}/widgets/columns_panel.d.ts +0 -0
  197. /package/dist/{lib → types}/widgets/easy_grid_widget.d.ts +0 -0
  198. /package/dist/{lib → types}/widgets/entities_panel.d.ts +0 -0
  199. /package/dist/{lib → types}/widgets/eq_result_html_grid.d.ts +0 -0
  200. /package/dist/{lib → types}/widgets/export_widget.d.ts +0 -0
  201. /package/dist/{lib → types}/widgets/facet_container.d.ts +0 -0
  202. /package/dist/{lib → types}/widgets/filter_bar.d.ts +0 -0
  203. /package/dist/{lib → types}/widgets/grid.d.ts +0 -0
  204. /package/dist/{lib → types}/widgets/html_content_widget.d.ts +0 -0
  205. /package/dist/{lib → types}/widgets/locale_widget.d.ts +0 -0
  206. /package/dist/{lib → types}/widgets/manage_drilldown_widget.d.ts +0 -0
  207. /package/dist/{lib → types}/widgets/process_widget.d.ts +0 -0
  208. /package/dist/{lib → types}/widgets/queryname_widget.d.ts +0 -0
  209. /package/dist/{lib → types}/widgets/renderers/aggr_settings/aggr_settings_renderer.d.ts +0 -0
  210. /package/dist/{lib → types}/widgets/renderers/base_element_renderer.d.ts +0 -0
  211. /package/dist/{lib → types}/widgets/renderers/columnsbar/aggrfunc_column_renderer_cb.d.ts +0 -0
  212. /package/dist/{lib → types}/widgets/renderers/columnsbar/attr_column_renderer_cb.d.ts +0 -0
  213. /package/dist/{lib → types}/widgets/renderers/columnsbar/column_renderer_cb.d.ts +0 -0
  214. /package/dist/{lib → types}/widgets/renderers/columnsbar/editable_column_renderer_cb.d.ts +0 -0
  215. /package/dist/{lib → types}/widgets/renderers/columnspanel/aggrfunc_column_renderer_cp.d.ts +0 -0
  216. /package/dist/{lib → types}/widgets/renderers/columnspanel/attr_column_renderer_cp.d.ts +0 -0
  217. /package/dist/{lib → types}/widgets/renderers/columnspanel/column_renderer_cp.d.ts +0 -0
  218. /package/dist/{lib → types}/widgets/renderers/columnspanel/editable_column_renderer_cp.d.ts +0 -0
  219. /package/dist/{lib → types}/widgets/renderers/dropdown_renderer.d.ts +0 -0
  220. /package/dist/{lib → types}/widgets/renderers/querypanel/addrow_renderer.d.ts +0 -0
  221. /package/dist/{lib → types}/widgets/renderers/querypanel/attribute_expression_renderer.d.ts +0 -0
  222. /package/dist/{lib → types}/widgets/renderers/querypanel/bind_to_parent_column_expression_renderer.d.ts +0 -0
  223. /package/dist/{lib → types}/widgets/renderers/querypanel/condition_group_renderer.d.ts +0 -0
  224. /package/dist/{lib → types}/widgets/renderers/querypanel/condition_renderer.d.ts +0 -0
  225. /package/dist/{lib → types}/widgets/renderers/querypanel/datetime_expression_render.d.ts +0 -0
  226. /package/dist/{lib → types}/widgets/renderers/querypanel/expression_renderer.d.ts +0 -0
  227. /package/dist/{lib → types}/widgets/renderers/querypanel/input_expression_renderer.d.ts +0 -0
  228. /package/dist/{lib → types}/widgets/renderers/querypanel/list_expression_renderer.d.ts +0 -0
  229. /package/dist/{lib → types}/widgets/renderers/querypanel/operator_renderer.d.ts +0 -0
  230. /package/dist/{lib → types}/widgets/renderers/querypanel/text_renderer.d.ts +0 -0
  231. /package/dist/{lib → types}/widgets/renderers/sortingbar/column_renderer_sb.d.ts +0 -0
  232. /package/dist/{lib → types}/widgets/result_facets_panel.d.ts +0 -0
  233. /package/dist/{lib → types}/widgets/sorting_bar.d.ts +0 -0
  234. /package/dist/{lib → types}/widgets/statement_panel.d.ts +0 -0
  235. /package/dist/{lib → types}/widgets/widget_options.d.ts +0 -0
@@ -1,623 +0,0 @@
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 } from '@easydata/core';
17
- import { utils as dataUtils } from '@easydata/core';
18
- import { Widget, WidgetGroup, ExprTag, QueryChangePart, QueryChangeAction } from '@easyquery/core';
19
- import { eqDragManager } from '@easydata/ui';
20
- import { eqCssPrefix } from '../utils/utils';
21
- import { browserUtils } from '../utils/browser_utils';
22
- /**
23
- * The entities panel wiget, implemented without JQuery.
24
- */
25
- var EntitiesPanel = /** @class */ (function (_super) {
26
- __extends(EntitiesPanel, _super);
27
- /**
28
- * The default constructor.
29
- * @param slot The html element.
30
- */
31
- function EntitiesPanel(slot) {
32
- var _this = _super.call(this, slot) || this;
33
- _this.queryChangedCallbackId = null;
34
- _this.group = WidgetGroup.Model | WidgetGroup.Query;
35
- _this.panel = slot;
36
- return _this;
37
- }
38
- Object.defineProperty(EntitiesPanel.prototype, "cssPrefix", {
39
- get: function () {
40
- return 'eqjs-ep';
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- EntitiesPanel.prototype.getWidgetType = function () {
46
- return 'entitiesPanel';
47
- };
48
- /**
49
- * Initialize widget.
50
- * @param context The context.
51
- * @param options The options.
52
- */
53
- EntitiesPanel.prototype.init = function (context, options) {
54
- _super.prototype.init.call(this, context, options);
55
- this.setOptions(options);
56
- this.renderProgressBlock();
57
- };
58
- /**
59
- * Refresh widget implementation
60
- */
61
- EntitiesPanel.prototype.refreshCore = function () {
62
- this.render();
63
- if (this.options.syncWithColumns) {
64
- this.refreshCheckedStateByColumns();
65
- }
66
- };
67
- EntitiesPanel.prototype.onProcessStartCore = function () {
68
- if (this.options.showIndicatorOnLoad) {
69
- if (!this.progressBlock.parentNode)
70
- this.panel.appendChild(this.progressBlock);
71
- }
72
- };
73
- EntitiesPanel.prototype.onProcessEndCore = function () {
74
- if (this.options.showIndicatorOnLoad) {
75
- if (this.progressBlock.parentNode)
76
- this.panel.removeChild(this.progressBlock);
77
- }
78
- };
79
- EntitiesPanel.prototype.destroyCore = function () {
80
- this.slot.innerHTML = '';
81
- };
82
- EntitiesPanel.prototype.setOptions = function (options) {
83
- var _this = this;
84
- this.options = {
85
- showToolbar: true,
86
- syncWithColumns: false,
87
- showSelectAllButton: false,
88
- showClearSelectionButton: true,
89
- showAddColumnButton: true,
90
- showAddConditionButton: true,
91
- showCheckboxes: true,
92
- showTooltips: true,
93
- draggableAttributes: true,
94
- showAttributes: { useInConditions: true, useInResult: true, useInSorting: false },
95
- showFilterBox: false,
96
- filterBoxMode: 0,
97
- showIndicatorOnLoad: true,
98
- attrPlacement: 0,
99
- sortEntities: false,
100
- autoClearSelection: true,
101
- entityRenderedCallback: null,
102
- attributeRenderedCallback: null,
103
- };
104
- if (options) {
105
- dataUtils.assignDeep(this.options, options);
106
- }
107
- if (this.queryChangedCallbackId) {
108
- var query = this.context.getQuery();
109
- query.removeChangedCallback(this.queryChangedCallbackId);
110
- }
111
- if (this.options.syncWithColumns) {
112
- var query = this.context.getQuery();
113
- this.queryChangedCallbackId = query.addChangedCallback(function (ev) {
114
- var edata = ev.data;
115
- if (!edata || (edata.part != QueryChangePart.Columns && edata.part != QueryChangePart.All)) {
116
- return;
117
- }
118
- _this.refreshCheckedStateByColumns();
119
- });
120
- }
121
- };
122
- EntitiesPanel.prototype.render = function () {
123
- var model = this.context.getModel();
124
- ;
125
- this.clear();
126
- this.panel.classList.add("".concat(this.cssPrefix, "-panel"));
127
- this.panel.classList.add(browserUtils.getMobileCssClass());
128
- this.rootEntityBlock = document.createElement('div');
129
- if (model != null && !model.isEmpty()) {
130
- var entTree = model.getEntitiesTree({
131
- addUIC: this.options.showAttributes.useInConditions,
132
- addUIR: this.options.showAttributes.useInResult,
133
- addUIS: this.options.showAttributes.useInSorting,
134
- attrPlacement: this.options.attrPlacement,
135
- sortEntities: this.options.sortEntities,
136
- includeRootData: true
137
- });
138
- this.entityTreeBlock = this.renderEntity(entTree, this.rootEntityBlock, 0);
139
- this.panel.appendChild(this.entityTreeBlock);
140
- }
141
- if (this.options.showFilterBox) {
142
- this.createFilterBox();
143
- }
144
- else {
145
- this.rootEntityBlock.style.top = '0';
146
- }
147
- if (this.options.showToolbar && !this.options.syncWithColumns) {
148
- this.createToolPanel();
149
- }
150
- else {
151
- this.rootEntityBlock.style.bottom = '0';
152
- }
153
- };
154
- EntitiesPanel.prototype.renderEntity = function (entity, block, offset) {
155
- var _this = this;
156
- var entityBlock;
157
- var entityNode = document.createElement('div');
158
- entityNode.classList.add("".concat(this.cssPrefix, "-entity-node"));
159
- entityNode.classList.add(browserUtils.getMobileCssClass());
160
- var entityChildren = document.createElement('div');
161
- entityChildren.classList.add("".concat(this.cssPrefix, "-entity-children"));
162
- entityChildren.classList.add(browserUtils.getMobileCssClass());
163
- var nodeLabel = document.createElement('label');
164
- nodeLabel.classList.add("".concat(this.cssPrefix, "-entity-node-label"));
165
- var nodeInput = document.createElement('input');
166
- nodeInput.type = 'checkbox';
167
- nodeInput.title = entity.text;
168
- var nodeToggleButton = document.createElement('a');
169
- nodeToggleButton.href = 'javascript:void(0)';
170
- nodeToggleButton.title = "".concat(i18n.getText("EntityToggle"), " ").concat(entity.text);
171
- nodeToggleButton.classList.add("".concat(this.cssPrefix, "-entity-node-button"));
172
- var attrNode, attrLabel, attrInput;
173
- var currentOffset = offset;
174
- var isAttributeInTree = function (attrId, entityBlock) {
175
- var res = entityBlock.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr[data-id=\"").concat(attrId, "\"]"));
176
- return res.length > 0;
177
- };
178
- if (block) {
179
- entityBlock = block;
180
- entityBlock.innerHTML = '';
181
- }
182
- else {
183
- entityBlock = document.createElement('div');
184
- }
185
- entityBlock.classList.add("".concat(this.cssPrefix, "-entity"));
186
- entityBlock.classList.add(browserUtils.getMobileCssClass());
187
- if (entity.id && entity.id != "") {
188
- nodeLabel.innerText = entity.text;
189
- entityNode.appendChild(nodeLabel); //caption
190
- if (this.options.showCheckboxes) {
191
- nodeLabel.insertBefore(nodeInput, nodeLabel.firstChild);
192
- }
193
- entityNode.insertBefore(nodeToggleButton, entityNode.firstChild);
194
- if (this.options.showTooltips && entity.description) {
195
- nodeLabel.setAttribute('title', entity.description);
196
- }
197
- for (var i = 0; i < currentOffset; i++) {
198
- var divElem = document.createElement('div');
199
- divElem.classList.add("".concat(this.cssPrefix, "-entity-offset"));
200
- entityNode.insertBefore(divElem, entityNode.firstChild);
201
- }
202
- entityBlock.appendChild(entityNode);
203
- entityChildren.hidden = true;
204
- currentOffset++;
205
- }
206
- var itemsLength = entity.items ? entity.items.length : 0;
207
- var _loop_1 = function (i) {
208
- var item = entity.items[i];
209
- if (item.isEntity) {
210
- entityChildren.appendChild(this_1.renderEntity(item, null, currentOffset));
211
- }
212
- else {
213
- if (!item.lookupAttr || !(isAttributeInTree(item.lookupAttr, entityChildren))) {
214
- attrLabel = document.createElement('label');
215
- attrLabel.innerText = item.text;
216
- attrLabel.classList.add("".concat(this_1.cssPrefix, "-entity-attr-label"));
217
- if (this_1.options.showCheckboxes) {
218
- attrInput = document.createElement('input');
219
- attrInput.type = 'checkbox';
220
- attrInput.title = item.text;
221
- attrLabel.insertBefore(attrInput, attrLabel.firstChild);
222
- if (this_1.options.syncWithColumns) {
223
- attrInput.addEventListener('change', function (ev) {
224
- var model = _this.context.getModel();
225
- var query = _this.context.getQuery();
226
- var checkbox = ev.currentTarget;
227
- var attrId = checkbox.parentElement.parentElement.getAttribute('data-id');
228
- if (model.checkAttrProperty(attrId, "useInResult")) {
229
- if (checkbox.checked) {
230
- var attr = model.getAttributeById(attrId);
231
- var column = query.addColumn({
232
- attribute: attr
233
- });
234
- query.fireColumnsChangedEvent(QueryChangeAction.Add, column);
235
- }
236
- else {
237
- var columns = query.getColumns()
238
- .filter(function (col) { return col.expr.tag === ExprTag.EntityAttribute
239
- && col.expr.value === attrId; });
240
- if (columns.length > 0) {
241
- query.removeColumn(columns[0]);
242
- query.fireColumnsChangedEvent(QueryChangeAction.Delete, columns[0]);
243
- }
244
- }
245
- }
246
- });
247
- }
248
- }
249
- if (this_1.options.showTooltips && item.description) {
250
- attrLabel.setAttribute('title', item.description);
251
- }
252
- for (var j = 0; j < currentOffset + 1; j++) {
253
- var divElem = document.createElement('div');
254
- divElem.classList.add("".concat(this_1.cssPrefix, "-entity-offset"));
255
- attrLabel.insertBefore(divElem, attrLabel.firstChild);
256
- }
257
- attrNode = document.createElement('div');
258
- attrNode.classList.add("".concat(this_1.cssPrefix, "-entity-attr"));
259
- if (entityNode.innerHTML.length == 0) {
260
- attrNode.classList.add("".concat(this_1.cssPrefix, "-entity-attr-root"));
261
- }
262
- attrNode.innerHTML = "";
263
- attrNode.appendChild(attrLabel);
264
- attrNode.setAttribute('data-id', item.id);
265
- if (this_1.options.draggableAttributes) {
266
- eqDragManager.registerDraggableItem({
267
- element: attrNode,
268
- scope: "entityAttr",
269
- data: { attrId: item.id },
270
- renderer: function (dragImage) {
271
- dragImage.innerHTML = '';
272
- var attrLabel = document.createElement('span');
273
- attrLabel.innerText = item.text;
274
- dragImage.appendChild(attrLabel);
275
- }
276
- });
277
- }
278
- if (this_1.options.attributeRenderedCallback) {
279
- this_1.options.attributeRenderedCallback(attrNode);
280
- }
281
- entityChildren.appendChild(attrNode);
282
- }
283
- }
284
- };
285
- var this_1 = this;
286
- for (var i = 0; i < itemsLength; i++) {
287
- _loop_1(i);
288
- }
289
- if (entityChildren.innerHTML.length) {
290
- entityBlock.appendChild(entityChildren);
291
- nodeToggleButton.addEventListener('click', function (event) {
292
- entityChildren.hidden = !entityChildren.hidden;
293
- var element = event.target;
294
- var className = "".concat(_this.cssPrefix, "-entity-node-button-open");
295
- if (element.classList.contains(className)) {
296
- element.classList.remove(className);
297
- }
298
- else {
299
- element.classList.add(className);
300
- }
301
- event.preventDefault();
302
- });
303
- }
304
- if (entityChildren) {
305
- var checkboxes = entityChildren.querySelectorAll(".".concat(this.cssPrefix, "-entity-attr > label > input"));
306
- for (var i = 0; i < checkboxes.length; i++) {
307
- var checkbox = checkboxes[i];
308
- checkbox.addEventListener('click', function (event) {
309
- var element = event.target;
310
- if (element.checked && !nodeInput.checked) {
311
- nodeInput.checked = true;
312
- }
313
- else if (entityChildren.querySelectorAll('input:checked').length === 0) {
314
- nodeInput.checked = false;
315
- }
316
- event.stopPropagation();
317
- });
318
- }
319
- }
320
- nodeInput.addEventListener('click', function (event) {
321
- var element = event.target;
322
- var entities = entityChildren.querySelectorAll('label input');
323
- for (var i = 0; i < entities.length; i++) {
324
- var entity_1 = entities[i];
325
- entity_1.checked = element.checked;
326
- }
327
- if (_this.options.syncWithColumns) {
328
- var query = _this.context.getQuery();
329
- var model = _this.context.getModel();
330
- var attrList_2 = [];
331
- var attrElems = Array.from(entityChildren.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr")));
332
- for (var _i = 0, attrElems_1 = attrElems; _i < attrElems_1.length; _i++) {
333
- var elem = attrElems_1[_i];
334
- var attrId = elem.getAttribute('data-id');
335
- if (model.checkAttrProperty(attrId, 'useInResult')) {
336
- attrList_2.push(attrId);
337
- }
338
- }
339
- if (element.checked) {
340
- for (var _a = 0, attrList_1 = attrList_2; _a < attrList_1.length; _a++) {
341
- var attrId = attrList_1[_a];
342
- query.addColumn({ attributeId: attrId });
343
- }
344
- }
345
- else {
346
- var columns = query.getColumns()
347
- .filter(function (col) { return col.expr.tag === ExprTag.EntityAttribute
348
- && attrList_2.indexOf(col.expr.value) >= 0; });
349
- query.removeColumns(columns, null);
350
- }
351
- query.fireColumnsChangedEvent();
352
- }
353
- event.stopPropagation();
354
- });
355
- if (block != this.rootEntityBlock && this.options.entityRenderedCallback) {
356
- this.options.entityRenderedCallback(entityBlock);
357
- }
358
- return entityBlock;
359
- };
360
- EntitiesPanel.prototype.createFilterBox = function () {
361
- var _this = this;
362
- this.filterBoxBlock = document.createElement('div');
363
- this.filterBoxBlock.classList.add("".concat(this.cssPrefix, "-filter-box"));
364
- this.filterBoxBlock.classList.add(browserUtils.getMobileCssClass());
365
- this.filterBoxInput = document.createElement('input');
366
- this.filterBoxInput.classList.add("".concat(this.cssPrefix, "-filter-box-input"));
367
- this.filterBoxInput.addEventListener('input', function (e) {
368
- var attrs = _this.panel.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr"));
369
- for (var i = 0; i < attrs.length; i++) {
370
- var attr = attrs[i];
371
- attr.hidden = !_this.checkFilterAttribute(attr);
372
- }
373
- var entities = _this.panel.querySelectorAll(":scope > .".concat(_this.cssPrefix, "-entity"));
374
- for (var i = 0; i < entities.length; i++) {
375
- var entity = entities[i];
376
- var attrs_1 = entity.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr"));
377
- var displayAttrCount = 0;
378
- for (var i_1 = 0; i_1 < attrs_1.length; i_1++) {
379
- if (attrs_1[i_1].style.display !== 'None') {
380
- displayAttrCount++;
381
- }
382
- }
383
- entity.hidden = displayAttrCount === 0;
384
- }
385
- if (_this.filterBoxInput.value === '')
386
- _this.collapseAll();
387
- else
388
- _this.expandAll();
389
- });
390
- this.filterBoxBlock.appendChild(this.filterBoxInput);
391
- this.panel.insertBefore(this.filterBoxBlock, this.panel.firstChild);
392
- };
393
- EntitiesPanel.prototype.createToolPanel = function () {
394
- var _this = this;
395
- var defClass = "".concat(this.cssPrefix, "-tool-panel");
396
- var toolPanelBlock = document.createElement('div');
397
- toolPanelBlock.classList.add(defClass);
398
- toolPanelBlock.classList.add(browserUtils.getMobileCssClass());
399
- var toolSelectAll = document.createElement('div');
400
- toolSelectAll.classList.add("".concat(defClass, "-select-all"));
401
- toolSelectAll.title = 'Select all';
402
- var toolDeselectAll = document.createElement('div');
403
- toolDeselectAll.classList.add("".concat(defClass, "-deselect-all"));
404
- toolDeselectAll.title = 'Clear selection';
405
- var toolAddColumns = document.createElement('div');
406
- toolAddColumns.classList.add("".concat(defClass, "-add-columns"));
407
- toolAddColumns.title = 'Add column';
408
- var toolAddCond = document.createElement('div');
409
- toolAddCond.classList.add("".concat(defClass, "-add-cond"));
410
- toolAddCond.title = 'Add condition';
411
- var toolLeftBlock = document.createElement('div');
412
- toolLeftBlock.classList.add("".concat(defClass, "-left-side"));
413
- var toolRightBlock = document.createElement('div');
414
- toolRightBlock.classList.add("".concat(defClass, "-right-side"));
415
- var model = this.context.getModel();
416
- if (this.options.showSelectAllButton) {
417
- toolSelectAll.title = i18n.getText("ButtonSelectAll");
418
- toolLeftBlock.appendChild(toolSelectAll);
419
- toolSelectAll.addEventListener('click', function () {
420
- _this.selectAll();
421
- });
422
- }
423
- if (this.options.showClearSelectionButton) {
424
- toolDeselectAll.title = i18n.getText("ButtonDeselectAll");
425
- toolLeftBlock.appendChild(toolDeselectAll);
426
- toolDeselectAll.addEventListener('click', function () {
427
- _this.deselectAll();
428
- });
429
- }
430
- if (this.options.showAddColumnButton) {
431
- toolAddColumns.title = i18n.getText("ButtonAddColumns");
432
- toolRightBlock.appendChild(toolAddColumns);
433
- toolAddColumns.addEventListener('click', function () {
434
- var attrElements = _this.panel.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr"));
435
- var attrList = [];
436
- var attrId;
437
- var query = _this.context.getQuery();
438
- query.fireProcessEvent({
439
- source: self,
440
- status: "start"
441
- });
442
- for (var i = 0; i < attrElements.length; i++) {
443
- var attrElement = attrElements[i];
444
- var input = attrElement.getElementsByTagName('input')[0];
445
- if (input.checked) {
446
- attrId = attrElement.getAttribute('data-id');
447
- if (model.checkAttrProperty(attrId, "useInResult")) {
448
- attrList.push(attrId);
449
- }
450
- }
451
- }
452
- for (var _i = 0, attrList_3 = attrList; _i < attrList_3.length; _i++) {
453
- var attrId_1 = attrList_3[_i];
454
- var attr = model.getAttributeById(attrId_1);
455
- query.addColumn({
456
- attribute: attr
457
- }, true);
458
- }
459
- query.fireChangedEvent();
460
- if (_this.options.autoClearSelection) {
461
- _this.deselectAll();
462
- }
463
- query.fireProcessEvent({
464
- source: self,
465
- status: "finish"
466
- });
467
- });
468
- }
469
- if (this.options.showAddConditionButton) {
470
- toolAddCond.title = i18n.getText("ButtonAddConditions");
471
- toolRightBlock.appendChild(toolAddCond);
472
- toolAddCond.addEventListener('click', function () {
473
- var attrElements = _this.panel.querySelectorAll(".".concat(_this.cssPrefix, "-entity-attr"));
474
- var attrList = [];
475
- var attrId;
476
- var query = _this.context.getQuery();
477
- query.fireProcessEvent({
478
- source: self,
479
- status: "start"
480
- });
481
- for (var i = 0; i < attrElements.length; i++) {
482
- var attrElement = attrElements[i];
483
- var input = attrElement.getElementsByTagName('input')[0];
484
- if (input.checked) {
485
- attrId = attrElement.getAttribute('data-id');
486
- if (model.checkAttrProperty(attrId, "useInConditions")) {
487
- attrList.push(attrId);
488
- }
489
- }
490
- }
491
- for (var _i = 0, attrList_4 = attrList; _i < attrList_4.length; _i++) {
492
- var attrId_2 = attrList_4[_i];
493
- query.addSimpleCondition({
494
- attributeId: attrId_2
495
- });
496
- }
497
- query.fireChangedEvent();
498
- if (_this.options.autoClearSelection) {
499
- _this.deselectAll();
500
- }
501
- query.fireProcessEvent({
502
- source: self,
503
- status: "finish"
504
- });
505
- });
506
- }
507
- toolPanelBlock.appendChild(toolLeftBlock);
508
- toolPanelBlock.appendChild(toolRightBlock);
509
- this.panel.appendChild(toolPanelBlock);
510
- };
511
- EntitiesPanel.prototype.checkFilterAttribute = function (attr) {
512
- var inputElem = attr.querySelector('label input');
513
- if (inputElem.checked) {
514
- return true;
515
- }
516
- var labelElem = attr.querySelector('label');
517
- var attrCaption = labelElem.textContent;
518
- if (this.checkFilterText(attrCaption)) {
519
- return true;
520
- }
521
- var entityNode = attr.parentElement.parentElement.querySelector(".".concat(this.cssPrefix, "-entity-node"));
522
- var entityCaption = entityNode.querySelector('label').textContent;
523
- if (this.checkFilterText(entityCaption)) {
524
- return true;
525
- }
526
- return false;
527
- };
528
- EntitiesPanel.prototype.checkFilterText = function (value) {
529
- var filterText = this.filterBoxInput.value;
530
- if (filterText == "")
531
- return true;
532
- if (this.options.filterBoxMode == 0 && value.toLowerCase().indexOf(filterText.toLowerCase()) >= 0)
533
- return true;
534
- if (this.options.filterBoxMode == 1 && value.toLowerCase().indexOf(filterText.toLowerCase()) == 0)
535
- return true;
536
- return false;
537
- };
538
- EntitiesPanel.prototype.refreshCheckedStateByColumns = function () {
539
- this.deselectAll();
540
- var query = this.context.getQuery();
541
- var exprColumns = query.getColumns()
542
- .filter(function (col) { return col.expr.tag === ExprTag.EntityAttribute; });
543
- for (var _i = 0, exprColumns_1 = exprColumns; _i < exprColumns_1.length; _i++) {
544
- var column = exprColumns_1[_i];
545
- var attrNode = this.rootEntityBlock
546
- .querySelector(".".concat(this.cssPrefix, "-entity-attr[data-id=\"").concat(column.expr.value, "\"]"));
547
- var checkbox = attrNode.querySelector("label > input");
548
- checkbox.checked = true;
549
- var entChildren = attrNode.parentElement;
550
- while (entChildren
551
- && entChildren.classList
552
- .contains("".concat(this.cssPrefix, "-entity-children"))) {
553
- entChildren.hidden = false;
554
- var entElem = entChildren.parentElement;
555
- if (entElem && entChildren !== entElem.firstElementChild) {
556
- checkbox = entElem.firstElementChild
557
- .querySelector("label > input");
558
- checkbox.checked = true;
559
- entChildren = entElem.parentElement;
560
- }
561
- else {
562
- break;
563
- }
564
- }
565
- }
566
- };
567
- EntitiesPanel.prototype.expandAll = function () {
568
- for (var i = 0; i < this.rootEntityBlock.childNodes.length; i++) {
569
- var child = this.rootEntityBlock.childNodes[0];
570
- var childs = child.querySelectorAll(".".concat(this.cssPrefix, "-entity-children"));
571
- for (var j = 0; j < childs.length; j++) {
572
- var elem = childs[j];
573
- elem.hidden = false;
574
- }
575
- }
576
- var nodeButtons = this.rootEntityBlock.querySelectorAll(".".concat(this.cssPrefix, "-entity-node-button"));
577
- for (var i = 0; i < nodeButtons.length; i++) {
578
- var elem = nodeButtons[i];
579
- elem.classList.add("".concat(this.cssPrefix, "-entity-node-button-open"));
580
- }
581
- };
582
- EntitiesPanel.prototype.collapseAll = function () {
583
- for (var i = 0; i < this.rootEntityBlock.childNodes.length; i++) {
584
- var child = this.rootEntityBlock.childNodes[0];
585
- var childs = child.querySelectorAll(".".concat(this.cssPrefix, "-entity-children"));
586
- for (var j = 0; j < childs.length; j++) {
587
- var elem = childs[j];
588
- elem.hidden = true;
589
- }
590
- }
591
- var nodeButtons = this.rootEntityBlock.querySelectorAll(".".concat(this.cssPrefix, "-entity-node-button"));
592
- for (var i = 0; i < nodeButtons.length; i++) {
593
- var elem = nodeButtons[i];
594
- elem.classList.remove("".concat(this.cssPrefix, "-entity-node-button-open"));
595
- }
596
- };
597
- EntitiesPanel.prototype.selectAll = function () {
598
- var inputs = this.entityTreeBlock.querySelectorAll('input');
599
- for (var i = 0; i < inputs.length; i++) {
600
- var input = inputs[i];
601
- input.checked = true;
602
- }
603
- };
604
- EntitiesPanel.prototype.deselectAll = function () {
605
- var inputs = this.entityTreeBlock.querySelectorAll('input');
606
- for (var i = 0; i < inputs.length; i++) {
607
- var input = inputs[i];
608
- input.checked = false;
609
- }
610
- };
611
- EntitiesPanel.prototype.renderProgressBlock = function () {
612
- this.progressBlock = document.createElement('div');
613
- this.progressBlock.classList.add("".concat(eqCssPrefix, "-progress-win8"));
614
- this.progressBlock.classList.add(browserUtils.getMobileCssClass());
615
- this.progressBlock.innerHTML = '<div class="wBall" id="wBall_1"><div class="wInnerBall"></div></div><div class="wBall" id="wBall_2"><div class="wInnerBall"></div></div><div class="wBall" id="wBall_3"><div class="wInnerBall"></div></div><div class="wBall" id="wBall_4"><div class="wInnerBall"></div></div><div class="wBall" id="wBall_5"><div class="wInnerBall"></div></div>';
616
- };
617
- EntitiesPanel.prototype.clear = function () {
618
- this.panel.innerHTML = "";
619
- };
620
- return EntitiesPanel;
621
- }(Widget));
622
- export { EntitiesPanel };
623
- //# sourceMappingURL=entities_panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities_panel.js","sourceRoot":"","sources":["../../../src/widgets/entities_panel.ts"],"names":[],"mappings":"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"}