@easyquery/ui 7.2.5 → 7.3.0-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.
- package/dist/assets/css/aggr-settings.css +4 -8
- package/dist/assets/css/easychart.css +1 -3
- package/dist/assets/css/easyfacets.css +9 -5
- package/dist/assets/css/easyquery.css +36 -297
- package/dist/assets/css/easyquery.ui.css +480 -209
- package/dist/assets/css/eq-icons.css +81 -0
- package/dist/assets/css/eqview.css +6 -13
- package/dist/assets/css/themes.css +12 -0
- package/dist/assets/css/upgrade.css +343 -0
- package/dist/easyquery.ui.cjs.js +252 -192
- package/dist/easyquery.ui.esm.js +216 -156
- package/dist/types/public_api.d.ts +0 -1
- package/dist/types/utils/utils.d.ts +1 -0
- package/dist/types/views/adv_search_view.d.ts +2 -0
- package/dist/types/views/view.d.ts +2 -1
- package/dist/types/widgets/columns_bar.d.ts +1 -0
- package/dist/types/widgets/renderers/columnspanel/column_renderer_cp.d.ts +1 -0
- package/dist/types/widgets/renderers/querypanel/datetime_expression_render.d.ts +1 -1
- package/package.json +5 -5
- package/dist/assets/css/eq-icons-default.css +0 -140
- package/dist/assets/css/eq-icons-files.css +0 -91
- package/dist/assets/css/images/ExportCSV.png +0 -0
- package/dist/assets/css/images/ExportExel.png +0 -0
- package/dist/assets/css/images/aggr_settings_cancel.png +0 -0
- package/dist/assets/css/images/aggr_settings_func.png +0 -0
- package/dist/assets/css/images/aggr_settings_group.png +0 -0
- package/dist/assets/css/images/ajax-loader.gif +0 -0
- package/dist/assets/css/images/chart-settings.png +0 -0
- package/dist/assets/css/images/checkbox_checked.png +0 -0
- package/dist/assets/css/images/checkbox_unchecked.png +0 -0
- package/dist/assets/css/images/clearButton.png +0 -0
- package/dist/assets/css/images/colbtn-aggrfunc.png +0 -0
- package/dist/assets/css/images/condbtn-addcondition.png +0 -0
- package/dist/assets/css/images/condbtn-addpredicate.png +0 -0
- package/dist/assets/css/images/condbtn-delete.png +0 -0
- package/dist/assets/css/images/condbtn-disabled.png +0 -0
- package/dist/assets/css/images/condbtn-enabled.png +0 -0
- package/dist/assets/css/images/condbtn-menu.png +0 -0
- package/dist/assets/css/images/condbtn-param.png +0 -0
- package/dist/assets/css/images/eqjs-ep-add-columns-hover.png +0 -0
- package/dist/assets/css/images/eqjs-ep-add-columns.png +0 -0
- package/dist/assets/css/images/eqjs-ep-add-cond-hover.png +0 -0
- package/dist/assets/css/images/eqjs-ep-add-cond.png +0 -0
- package/dist/assets/css/images/eqjs-ep-deselect-all-hover.png +0 -0
- package/dist/assets/css/images/eqjs-ep-deselect-all.png +0 -0
- package/dist/assets/css/images/eqjs-ep-select-all-hover.png +0 -0
- package/dist/assets/css/images/eqjs-ep-select-all.png +0 -0
- package/dist/assets/css/images/eqjs-fb-header-icon.png +0 -0
- package/dist/assets/css/images/execute.png +0 -0
- package/dist/assets/css/images/loadButton.png +0 -0
- package/dist/assets/css/images/logo.png +0 -0
- package/dist/assets/css/images/node-close.png +0 -0
- package/dist/assets/css/images/node-open.png +0 -0
- package/dist/assets/css/images/saveButton.png +0 -0
- package/dist/assets/css/images/sorting_asc.png +0 -0
- package/dist/assets/css/images/sorting_desc.png +0 -0
- package/dist/assets/css/images/sorting_none.png +0 -0
- package/dist/assets/css/images/ve-loader.gif +0 -0
- package/dist/types/utils/browser_utils.d.ts +0 -8
package/dist/easyquery.ui.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { utils, i18n, DataType, EasyDataTable, AggregationSettings } from '@easydata/core';
|
|
2
2
|
import { Widget, WidgetGroup, QueryChangePart, QueryChangeAction, ExprTag, SortDirection, i18n as i18n$1, equtils, eqconsts, ConditionPart, DataKind, Query, Expression, CondTag, EqEditorTag, EqValueEditor, EqServiceProvider, createEqContext } from '@easyquery/core';
|
|
3
|
-
import { eqDragManager, getElementAbsolutePos, getScrollPos, getWinSize, getViewportSize, domel, DropEffect, createBrowserEvent, DomElementBuilder, DefaultDateTimePicker, slideDown, slideUp, EasyGrid, addCssClass, hideElement, showElement, isVisible, toggleVisibility, addElement, DefaultDialogService } from '@easydata/ui';
|
|
3
|
+
import { browserUtils, eqDragManager, getElementAbsolutePos, getScrollPos, getWinSize, getViewportSize, domel, DropEffect, createBrowserEvent, DomElementBuilder, DefaultDateTimePicker, slideDown, slideUp, EasyGrid, addCssClass, hideElement, showElement, isVisible, toggleVisibility, addElement, DefaultDialogService } from '@easydata/ui';
|
|
4
4
|
|
|
5
5
|
function findHighestZIndex(elem) {
|
|
6
6
|
let highest = 0;
|
|
@@ -27,64 +27,9 @@ function safeFocus(element) {
|
|
|
27
27
|
}
|
|
28
28
|
const eqCssPrefix = 'eqjs';
|
|
29
29
|
const eqCssMobile = 'eqjs-mobile';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
let _isFirefox = null;
|
|
34
|
-
function isIE() {
|
|
35
|
-
const ua = window.navigator.userAgent;
|
|
36
|
-
return ua.includes('MSIE') || ua.includes('Trident');
|
|
37
|
-
}
|
|
38
|
-
browserUtils.isIE = isIE;
|
|
39
|
-
function isFirefox() {
|
|
40
|
-
if (_isFirefox === null) {
|
|
41
|
-
const ua = navigator.userAgent;
|
|
42
|
-
_isFirefox = ua.toLowerCase().indexOf('firefox') > -1;
|
|
43
|
-
}
|
|
44
|
-
return _isFirefox;
|
|
45
|
-
}
|
|
46
|
-
browserUtils.isFirefox = isFirefox;
|
|
47
|
-
let _detectedIsMobileMode = false;
|
|
48
|
-
let _isMobileMode = undefined;
|
|
49
|
-
let detectIsMobileMode = () => {
|
|
50
|
-
const oldValue = isMobileMode();
|
|
51
|
-
_detectedIsMobileMode = window.matchMedia('only screen and (max-width: 840px)').matches
|
|
52
|
-
|| window.matchMedia('only screen and (max-height: 420px)').matches;
|
|
53
|
-
const newValue = isMobileMode();
|
|
54
|
-
if (newValue !== oldValue && mobileModeChangeHandler) {
|
|
55
|
-
mobileModeChangeHandler(newValue);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
detectIsMobileMode();
|
|
59
|
-
window.addEventListener('resize', () => detectIsMobileMode());
|
|
60
|
-
function isMobileMode() {
|
|
61
|
-
if (_isMobileMode !== undefined) {
|
|
62
|
-
return _isMobileMode;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
return _detectedIsMobileMode;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
browserUtils.isMobileMode = isMobileMode;
|
|
69
|
-
function setIsMobileMode(value) {
|
|
70
|
-
const oldValue = isMobileMode();
|
|
71
|
-
_isMobileMode = value;
|
|
72
|
-
const newValue = isMobileMode();
|
|
73
|
-
if (newValue !== oldValue && mobileModeChangeHandler) {
|
|
74
|
-
mobileModeChangeHandler(newValue);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
browserUtils.setIsMobileMode = setIsMobileMode;
|
|
78
|
-
let mobileModeChangeHandler;
|
|
79
|
-
function onMobileModeChanged(callback) {
|
|
80
|
-
mobileModeChangeHandler = callback;
|
|
81
|
-
}
|
|
82
|
-
browserUtils.onMobileModeChanged = onMobileModeChanged;
|
|
83
|
-
function getMobileCssClass() {
|
|
84
|
-
return isMobileMode() ? eqCssMobile : null;
|
|
85
|
-
}
|
|
86
|
-
browserUtils.getMobileCssClass = getMobileCssClass;
|
|
87
|
-
})(browserUtils || (browserUtils = {}));
|
|
30
|
+
function getMobileCssClass() {
|
|
31
|
+
return browserUtils.isMobileMode() ? eqCssMobile : null;
|
|
32
|
+
}
|
|
88
33
|
|
|
89
34
|
/**
|
|
90
35
|
* The entities panel wiget, implemented without JQuery.
|
|
@@ -183,7 +128,7 @@ class EntitiesPanel extends Widget {
|
|
|
183
128
|
let model = this.context.getModel();
|
|
184
129
|
this.clear();
|
|
185
130
|
this.panel.classList.add(`${this.cssPrefix}-panel`);
|
|
186
|
-
this.panel.classList.add(
|
|
131
|
+
this.panel.classList.add(getMobileCssClass());
|
|
187
132
|
this.rootEntityBlock = document.createElement('div');
|
|
188
133
|
if (model != null && !model.isEmpty()) {
|
|
189
134
|
let entTree = model.getEntitiesTree({
|
|
@@ -214,10 +159,10 @@ class EntitiesPanel extends Widget {
|
|
|
214
159
|
let entityBlock;
|
|
215
160
|
let entityNode = document.createElement('div');
|
|
216
161
|
entityNode.classList.add(`${this.cssPrefix}-entity-node`);
|
|
217
|
-
entityNode.classList.add(
|
|
162
|
+
entityNode.classList.add(getMobileCssClass());
|
|
218
163
|
let entityChildren = document.createElement('div');
|
|
219
164
|
entityChildren.classList.add(`${this.cssPrefix}-entity-children`);
|
|
220
|
-
entityChildren.classList.add(
|
|
165
|
+
entityChildren.classList.add(getMobileCssClass());
|
|
221
166
|
let nodeLabel = document.createElement('label');
|
|
222
167
|
nodeLabel.classList.add(`${this.cssPrefix}-entity-node-label`);
|
|
223
168
|
let nodeInput = document.createElement('input');
|
|
@@ -241,7 +186,7 @@ class EntitiesPanel extends Widget {
|
|
|
241
186
|
entityBlock = document.createElement('div');
|
|
242
187
|
}
|
|
243
188
|
entityBlock.classList.add(`${this.cssPrefix}-entity`);
|
|
244
|
-
entityBlock.classList.add(
|
|
189
|
+
entityBlock.classList.add(getMobileCssClass());
|
|
245
190
|
if (entity.id && entity.id != "") {
|
|
246
191
|
nodeLabel.innerText = entity.text;
|
|
247
192
|
entityNode.appendChild(nodeLabel); //caption
|
|
@@ -412,7 +357,7 @@ class EntitiesPanel extends Widget {
|
|
|
412
357
|
createFilterBox() {
|
|
413
358
|
this.filterBoxBlock = document.createElement('div');
|
|
414
359
|
this.filterBoxBlock.classList.add(`${this.cssPrefix}-filter-box`);
|
|
415
|
-
this.filterBoxBlock.classList.add(
|
|
360
|
+
this.filterBoxBlock.classList.add(getMobileCssClass());
|
|
416
361
|
this.filterBoxInput = document.createElement('input');
|
|
417
362
|
this.filterBoxInput.classList.add(`${this.cssPrefix}-filter-box-input`);
|
|
418
363
|
this.filterBoxInput.addEventListener('input', (e) => {
|
|
@@ -445,7 +390,7 @@ class EntitiesPanel extends Widget {
|
|
|
445
390
|
let defClass = `${this.cssPrefix}-tool-panel`;
|
|
446
391
|
let toolPanelBlock = document.createElement('div');
|
|
447
392
|
toolPanelBlock.classList.add(defClass);
|
|
448
|
-
toolPanelBlock.classList.add(
|
|
393
|
+
toolPanelBlock.classList.add(getMobileCssClass());
|
|
449
394
|
let toolSelectAll = document.createElement('div');
|
|
450
395
|
toolSelectAll.classList.add(`${defClass}-select-all`);
|
|
451
396
|
toolSelectAll.title = 'Select all';
|
|
@@ -658,7 +603,7 @@ class EntitiesPanel extends Widget {
|
|
|
658
603
|
renderProgressBlock() {
|
|
659
604
|
this.progressBlock = document.createElement('div');
|
|
660
605
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
661
|
-
this.progressBlock.classList.add(
|
|
606
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
662
607
|
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>';
|
|
663
608
|
}
|
|
664
609
|
clear() {
|
|
@@ -715,7 +660,7 @@ class MenuLevel {
|
|
|
715
660
|
const isSubQuery = this.parentMenu.options.isSubQuery;
|
|
716
661
|
//add base DIV element which is also used to show the shadow
|
|
717
662
|
const baseDivBuilder = domel('div')
|
|
718
|
-
.addClass(
|
|
663
|
+
.addClass(getMobileCssClass());
|
|
719
664
|
if (this.parentMenu.options.useDefaultStyles) {
|
|
720
665
|
baseDivBuilder
|
|
721
666
|
.setStyle('backgroundColor', itemBgColor)
|
|
@@ -839,7 +784,7 @@ class MenuLevel {
|
|
|
839
784
|
scrollDiv.tabIndex = 1;
|
|
840
785
|
domel(scrollDiv)
|
|
841
786
|
.addClass(`${this.cssPrefix}-scrollDiv`)
|
|
842
|
-
.addClass(
|
|
787
|
+
.addClass(getMobileCssClass());
|
|
843
788
|
scrollDiv.style.overflowX = "hidden";
|
|
844
789
|
scrollDiv.style.overflowY = "auto";
|
|
845
790
|
scrollDiv.style.position = "relative";
|
|
@@ -1036,7 +981,7 @@ class MenuLevel {
|
|
|
1036
981
|
const itemDiv = document.createElement("div");
|
|
1037
982
|
domel(itemDiv)
|
|
1038
983
|
.addClass(`${this.cssPrefix}-itemDiv`)
|
|
1039
|
-
.addClass(
|
|
984
|
+
.addClass(getMobileCssClass());
|
|
1040
985
|
if (item.selected && this.showSelected && !multiselect) {
|
|
1041
986
|
itemDiv.classList.add(`${this.cssPrefix}-selected`);
|
|
1042
987
|
}
|
|
@@ -1219,7 +1164,7 @@ class MenuLevel {
|
|
|
1219
1164
|
const itemDiv = document.createElement("div");
|
|
1220
1165
|
domel(itemDiv)
|
|
1221
1166
|
.addClass(`${this.cssPrefix}-itemDiv`)
|
|
1222
|
-
.addClass(
|
|
1167
|
+
.addClass(getMobileCssClass());
|
|
1223
1168
|
itemDiv.style.marginLeft = `${level * 10}px`;
|
|
1224
1169
|
if (item.selected && !multiselect) {
|
|
1225
1170
|
itemDiv.classList.add(`${this.cssPrefix}-selected`);
|
|
@@ -1564,7 +1509,7 @@ class MenuLevel {
|
|
|
1564
1509
|
this.parentElement.appendChild(this.levelDiv);
|
|
1565
1510
|
domel(this.levelDiv)
|
|
1566
1511
|
.addClass(`${this.cssPrefix}-levelDiv`)
|
|
1567
|
-
.addClass(
|
|
1512
|
+
.addClass(getMobileCssClass());
|
|
1568
1513
|
this.initialized = true;
|
|
1569
1514
|
}
|
|
1570
1515
|
}
|
|
@@ -2040,51 +1985,65 @@ class ColumnRendererCP {
|
|
|
2040
1985
|
this.createButtonMenu();
|
|
2041
1986
|
builder
|
|
2042
1987
|
.addClass(this.getClassesToAdd())
|
|
2043
|
-
.addClass(
|
|
1988
|
+
.addClass(getMobileCssClass())
|
|
2044
1989
|
.addChildElement(this.renderCheckbox())
|
|
2045
1990
|
//start sort button
|
|
2046
1991
|
.addChild('div', builder => builder
|
|
2047
1992
|
.addClass(`${eqCssPrefix}-button-placeholder`, `${this.cssPrefix}-button-placeholder`, `${this.cssPrefix}-colelement`, `${this.cssPrefix}-sortbutton-placeholder`)
|
|
2048
|
-
.addChildElement(this.sortingButton))
|
|
2049
|
-
|
|
2050
|
-
|
|
1993
|
+
.addChildElement(this.sortingButton));
|
|
1994
|
+
// end sort button
|
|
1995
|
+
builder.addChildElement(this.renderExpressionBlock());
|
|
2051
1996
|
if (this.panel.options.showColumnTitles !== false && !browserUtils.isMobileMode()) {
|
|
2052
1997
|
builder
|
|
2053
1998
|
.addChildElement(this.renderCaptionBlock());
|
|
2054
1999
|
}
|
|
2000
|
+
let buttonsIndex = 0;
|
|
2001
|
+
let buttonsList = '';
|
|
2055
2002
|
builder
|
|
2056
2003
|
//start buttons
|
|
2057
2004
|
.addChild('div', builder => {
|
|
2058
2005
|
builder
|
|
2059
2006
|
.addClass(`${eqCssPrefix}-column-buttonsBlock`, `${this.cssPrefix}-buttonsBlock`)
|
|
2060
|
-
.addClass(
|
|
2007
|
+
.addClass(getMobileCssClass());
|
|
2061
2008
|
//start enable button
|
|
2062
2009
|
if (this.getButtonsToShow().indexOf("enable") >= 0 && !this.column.isReadOnly()) {
|
|
2063
2010
|
builder.addChildElement(this.renderEnabledButton());
|
|
2011
|
+
buttonsIndex++;
|
|
2012
|
+
buttonsList += 'Enable';
|
|
2064
2013
|
}
|
|
2065
2014
|
//end enable button
|
|
2066
2015
|
//start aggr func button
|
|
2067
2016
|
if (this.getButtonsToShow().indexOf("type") >= 0 && this.columnEnabled) {
|
|
2068
2017
|
builder.addChildElement(this.renderColumnTypeButton());
|
|
2018
|
+
buttonsIndex++;
|
|
2019
|
+
buttonsList += 'Type';
|
|
2069
2020
|
}
|
|
2070
2021
|
//end aggr func button
|
|
2071
2022
|
//start format selector button
|
|
2072
2023
|
if (this.getButtonsToShow().indexOf("format") >= 0 && this.columnEnabled) {
|
|
2073
2024
|
builder.addChildElement(this.renderColumnFormatButton());
|
|
2025
|
+
buttonsIndex++;
|
|
2026
|
+
buttonsList += 'Format';
|
|
2074
2027
|
}
|
|
2075
2028
|
//end format selector button
|
|
2076
2029
|
//start delete button
|
|
2077
2030
|
if (this.getButtonsToShow().indexOf("delete") >= 0 && !this.column.isReadOnly()) {
|
|
2078
2031
|
builder.addChildElement(this.renderDeleteButton());
|
|
2032
|
+
buttonsIndex++;
|
|
2033
|
+
buttonsList += 'Delete';
|
|
2079
2034
|
}
|
|
2080
2035
|
//end delete button
|
|
2081
2036
|
//start menu button
|
|
2082
2037
|
if (this.getButtonsToShow().indexOf("menu") >= 0 && !this.column.isReadOnly()) {
|
|
2083
2038
|
builder.addChildElement(this.renderMenuButton());
|
|
2039
|
+
buttonsIndex++;
|
|
2040
|
+
buttonsList += 'Menu';
|
|
2084
2041
|
}
|
|
2085
2042
|
//end menu button
|
|
2086
2043
|
});
|
|
2087
|
-
//end buttons
|
|
2044
|
+
//end buttons
|
|
2045
|
+
builder.addClass(`eqjs-buttons-in-block-${buttonsIndex}`);
|
|
2046
|
+
builder.addClass(`eqjs-buttons-in-block-${buttonsList}`);
|
|
2088
2047
|
if (!browserUtils.isMobileMode()) {
|
|
2089
2048
|
//start event listeners
|
|
2090
2049
|
builder
|
|
@@ -2099,16 +2058,22 @@ class ColumnRendererCP {
|
|
|
2099
2058
|
if (this.panel.options.alwaysShowButtons) {
|
|
2100
2059
|
this.showButtons();
|
|
2101
2060
|
}
|
|
2061
|
+
if (this.panel.options.showCheckboxes === false) {
|
|
2062
|
+
builder.addClass("eqjs-no-checkbox");
|
|
2063
|
+
}
|
|
2102
2064
|
return this.element;
|
|
2103
2065
|
}
|
|
2104
2066
|
onMouseClick(ev) {
|
|
2105
2067
|
ev.stopPropagation();
|
|
2068
|
+
this.activate();
|
|
2069
|
+
return false;
|
|
2070
|
+
}
|
|
2071
|
+
activate() {
|
|
2106
2072
|
this.panel.toggleColumnPicked(this.column);
|
|
2107
2073
|
this.adjustButtonsVisibility();
|
|
2108
2074
|
if (!browserUtils.isMobileMode()) {
|
|
2109
2075
|
this.element.dispatchEvent(createBrowserEvent("mouseenter"));
|
|
2110
2076
|
}
|
|
2111
|
-
return false;
|
|
2112
2077
|
}
|
|
2113
2078
|
fireColumnChanged() {
|
|
2114
2079
|
this.column.fireChangedEvent();
|
|
@@ -2119,7 +2084,7 @@ class ColumnRendererCP {
|
|
|
2119
2084
|
renderCaptionBlock() {
|
|
2120
2085
|
const builder = domel('div')
|
|
2121
2086
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
2122
|
-
.addClass(
|
|
2087
|
+
.addClass(getMobileCssClass());
|
|
2123
2088
|
if (this.isEditable()) {
|
|
2124
2089
|
builder
|
|
2125
2090
|
.addChild('a', builder => builder
|
|
@@ -2128,6 +2093,7 @@ class ColumnRendererCP {
|
|
|
2128
2093
|
.text(this.column.caption)
|
|
2129
2094
|
.on('click', (ev) => {
|
|
2130
2095
|
ev.stopPropagation();
|
|
2096
|
+
this.activate();
|
|
2131
2097
|
const element = ev.target;
|
|
2132
2098
|
const inputEl = element.parentElement.querySelector('input');
|
|
2133
2099
|
if (inputEl) {
|
|
@@ -2202,7 +2168,7 @@ class ColumnRendererCP {
|
|
|
2202
2168
|
sortButtonDirectionCssClass = `${sortButtonCssClass}-none`;
|
|
2203
2169
|
break;
|
|
2204
2170
|
}
|
|
2205
|
-
if (!this.isEditable()) {
|
|
2171
|
+
if (!this.isEditable() || browserUtils.isMobileMode()) {
|
|
2206
2172
|
if (sorting === SortDirection.Ascending
|
|
2207
2173
|
|| sorting === SortDirection.Descending)
|
|
2208
2174
|
return domel('div')
|
|
@@ -2218,11 +2184,12 @@ class ColumnRendererCP {
|
|
|
2218
2184
|
.attr('tabIndex', '0')
|
|
2219
2185
|
.on('click', (ev) => {
|
|
2220
2186
|
ev.stopPropagation();
|
|
2187
|
+
this.activate();
|
|
2221
2188
|
this.keepShowingButtons = true;
|
|
2222
2189
|
const menu = this.getUIS() ? this.panel.sortMenu || this.panel.moveMenu : this.panel.moveMenu;
|
|
2223
2190
|
menu.showMenu({
|
|
2224
2191
|
anchor: this.sortingButton,
|
|
2225
|
-
selectedIds: this.column.isHidden() ? ['IsHidden'] : null,
|
|
2192
|
+
selectedIds: this.getButtonMenuSelectedItems(), // this.column.isHidden() ? ['IsHidden'] : null,
|
|
2226
2193
|
itemSelectedCallback: (data, items) => {
|
|
2227
2194
|
let action;
|
|
2228
2195
|
switch (data.id) {
|
|
@@ -2309,7 +2276,7 @@ class ColumnRendererCP {
|
|
|
2309
2276
|
.addClass(`${eqCssPrefix}-button`, `${eqCssPrefix}-column-button`, `${eqCssPrefix}-column-button-menu`)
|
|
2310
2277
|
.title(i18n$1.getText('ButtonMenu'))
|
|
2311
2278
|
.attr('tabIndex', '0')
|
|
2312
|
-
.on('click', evt => this.buttonMenuHandler(ColumnAction.Menu, evt)) //touchstart
|
|
2279
|
+
.on('click', evt => this.buttonMenuHandler(ColumnAction.Menu, evt)) //touchstart
|
|
2313
2280
|
.on('keypress', evt => { if (evt.keyCode == 13) {
|
|
2314
2281
|
evt.target.click();
|
|
2315
2282
|
} }))
|
|
@@ -2335,6 +2302,7 @@ class ColumnRendererCP {
|
|
|
2335
2302
|
.attr('tabIndex', '0')
|
|
2336
2303
|
.on('click', (ev) => {
|
|
2337
2304
|
ev.stopPropagation();
|
|
2305
|
+
this.activate();
|
|
2338
2306
|
this.keepShowingButtons = true;
|
|
2339
2307
|
this.changeTypeHandler(ev);
|
|
2340
2308
|
})
|
|
@@ -2543,6 +2511,7 @@ class ColumnRendererCP {
|
|
|
2543
2511
|
curQuery.fireColumnsChangedEvent(QueryChangeAction.Delete, this.column);
|
|
2544
2512
|
break;
|
|
2545
2513
|
case ColumnAction.Enable:
|
|
2514
|
+
this.activate();
|
|
2546
2515
|
this.columnEnabled = !this.columnEnabled;
|
|
2547
2516
|
this.fireColumnChanged();
|
|
2548
2517
|
break;
|
|
@@ -2577,6 +2546,7 @@ class ColumnRendererCP {
|
|
|
2577
2546
|
case ColumnAction.Menu:
|
|
2578
2547
|
const colMenu = this.buttonMenu;
|
|
2579
2548
|
this.keepShowingButtons = true;
|
|
2549
|
+
this.activate();
|
|
2580
2550
|
colMenu.showMenu({
|
|
2581
2551
|
anchor: evt ? evt.target : null,
|
|
2582
2552
|
selectedIds: this.getButtonMenuSelectedItems(),
|
|
@@ -2611,7 +2581,7 @@ class ColumnRendererCP {
|
|
|
2611
2581
|
action = ColumnAction.SortingAsc;
|
|
2612
2582
|
break;
|
|
2613
2583
|
case "Descending":
|
|
2614
|
-
action = ColumnAction.
|
|
2584
|
+
action = ColumnAction.SortingDesc;
|
|
2615
2585
|
break;
|
|
2616
2586
|
}
|
|
2617
2587
|
this.buttonMenuHandler(action, evt);
|
|
@@ -2641,26 +2611,26 @@ class ColumnRendererCP {
|
|
|
2641
2611
|
if (menuId) {
|
|
2642
2612
|
menuId += '-ButtonMenu';
|
|
2643
2613
|
}
|
|
2644
|
-
const
|
|
2645
|
-
|
|
2614
|
+
const Appearance = [];
|
|
2615
|
+
Appearance.push({
|
|
2646
2616
|
id: "enable",
|
|
2647
2617
|
text: i18n$1.getText('MenuEnable')
|
|
2648
2618
|
});
|
|
2649
2619
|
if (this.panel.options.allowHiddenColumns) {
|
|
2650
|
-
|
|
2620
|
+
Appearance.push({
|
|
2651
2621
|
id: "hidden",
|
|
2652
2622
|
text: i18n$1.getText('CmdHiddenColumn')
|
|
2653
2623
|
});
|
|
2654
2624
|
}
|
|
2655
|
-
|
|
2625
|
+
Appearance.push({
|
|
2656
2626
|
id: "delete",
|
|
2657
2627
|
text: i18n$1.getText('CmdDelete')
|
|
2658
2628
|
});
|
|
2659
2629
|
let items = [];
|
|
2660
2630
|
items.push({
|
|
2661
2631
|
id: '__group',
|
|
2662
|
-
text: '
|
|
2663
|
-
items:
|
|
2632
|
+
text: i18n$1.getText('CmdGroupAppearance'),
|
|
2633
|
+
items: Appearance
|
|
2664
2634
|
});
|
|
2665
2635
|
const sortItems = this.panel.options.allowSorting ?
|
|
2666
2636
|
[
|
|
@@ -2719,6 +2689,17 @@ class ColumnRendererCP {
|
|
|
2719
2689
|
if (this.column.isHidden()) {
|
|
2720
2690
|
arrSelected.push("hidden");
|
|
2721
2691
|
}
|
|
2692
|
+
switch (this.column.sorting) {
|
|
2693
|
+
case SortDirection.None:
|
|
2694
|
+
arrSelected.push("None");
|
|
2695
|
+
break;
|
|
2696
|
+
case SortDirection.Ascending:
|
|
2697
|
+
arrSelected.push("Ascending");
|
|
2698
|
+
break;
|
|
2699
|
+
case SortDirection.Descending:
|
|
2700
|
+
arrSelected.push("Descending");
|
|
2701
|
+
break;
|
|
2702
|
+
}
|
|
2722
2703
|
const formats = this.panel
|
|
2723
2704
|
.getContext()
|
|
2724
2705
|
.getModel()
|
|
@@ -2739,10 +2720,10 @@ class AttrColumnRendererCP extends ColumnRendererCP {
|
|
|
2739
2720
|
renderExpressionBlock() {
|
|
2740
2721
|
return domel("div")
|
|
2741
2722
|
.addClass(`${this.cssPrefix}-expr-block`)
|
|
2742
|
-
.addClass(
|
|
2723
|
+
.addClass(getMobileCssClass())
|
|
2743
2724
|
.addChild('div', builder => builder
|
|
2744
2725
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
2745
|
-
.addClass(
|
|
2726
|
+
.addClass(getMobileCssClass())
|
|
2746
2727
|
.addChildElement(this.renderBaseExpression()))
|
|
2747
2728
|
.toDOM();
|
|
2748
2729
|
}
|
|
@@ -2760,6 +2741,7 @@ class AttrColumnRendererCP extends ColumnRendererCP {
|
|
|
2760
2741
|
.text(attrCaption) //TO DO:add localization
|
|
2761
2742
|
.on('click', (ev) => {
|
|
2762
2743
|
ev.stopPropagation();
|
|
2744
|
+
this.activate();
|
|
2763
2745
|
this.panel.showEntitiesMenu({
|
|
2764
2746
|
anchor: ev.target,
|
|
2765
2747
|
selectedIds: null,
|
|
@@ -2912,7 +2894,7 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2912
2894
|
const model = this.panel.getContext().getModel();
|
|
2913
2895
|
const exprBlockBuilder = domel("div")
|
|
2914
2896
|
.addClass(`${this.cssPrefix}-expr-block`, `${this.cssPrefix}-expr-block-aggr`)
|
|
2915
|
-
.addClass(
|
|
2897
|
+
.addClass(getMobileCssClass());
|
|
2916
2898
|
const format = model.getAggrFunctionFormat(this.column.expr.func);
|
|
2917
2899
|
if (!format || format === '')
|
|
2918
2900
|
return;
|
|
@@ -2930,6 +2912,7 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2930
2912
|
.text(item.text)
|
|
2931
2913
|
.on('click', (ev) => {
|
|
2932
2914
|
ev.stopPropagation();
|
|
2915
|
+
this.activate();
|
|
2933
2916
|
this.functionMenu.showMenu({
|
|
2934
2917
|
anchor: functionLink.toDOM(),
|
|
2935
2918
|
selectedIds: null,
|
|
@@ -2948,14 +2931,14 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2948
2931
|
exprBlockBuilder
|
|
2949
2932
|
.addChild('div', builder => builder
|
|
2950
2933
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-aggrfuncelement`)
|
|
2951
|
-
.addClass(
|
|
2934
|
+
.addClass(getMobileCssClass())
|
|
2952
2935
|
.addChildElement(functionLink.toDOM()));
|
|
2953
2936
|
}
|
|
2954
2937
|
else {
|
|
2955
2938
|
exprBlockBuilder
|
|
2956
2939
|
.addChild('div', b => b
|
|
2957
2940
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-aggrfuncelement`)
|
|
2958
|
-
.addClass(
|
|
2941
|
+
.addClass(getMobileCssClass())
|
|
2959
2942
|
.addChild('span', b => b
|
|
2960
2943
|
.text(item.text)
|
|
2961
2944
|
.title(item.text)));
|
|
@@ -2965,14 +2948,14 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2965
2948
|
exprBlockBuilder
|
|
2966
2949
|
.addChild('div', builder => builder
|
|
2967
2950
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
2968
|
-
.addClass(
|
|
2951
|
+
.addClass(getMobileCssClass())
|
|
2969
2952
|
.addChildElement(this.renderBaseExpression()));
|
|
2970
2953
|
}
|
|
2971
2954
|
else if (item.type === 3) {
|
|
2972
2955
|
exprBlockBuilder
|
|
2973
2956
|
.addChild('span', builder => builder
|
|
2974
2957
|
.addClass(`${this.cssPrefix}-colelement`)
|
|
2975
|
-
.addClass(
|
|
2958
|
+
.addClass(getMobileCssClass())
|
|
2976
2959
|
.text(item.text)
|
|
2977
2960
|
.title(item.text));
|
|
2978
2961
|
}
|
|
@@ -3054,12 +3037,12 @@ class EditableColumnRendererCP extends AttrColumnRendererCP {
|
|
|
3054
3037
|
renderExpressionBlock() {
|
|
3055
3038
|
const exprBlock = domel("div")
|
|
3056
3039
|
.addClass(`${this.cssPrefix}-expr-block`)
|
|
3057
|
-
.addClass(
|
|
3040
|
+
.addClass(getMobileCssClass())
|
|
3058
3041
|
.toDOM();
|
|
3059
3042
|
//Attribute element
|
|
3060
3043
|
let builder = domel('div', exprBlock)
|
|
3061
3044
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
3062
|
-
.addClass(
|
|
3045
|
+
.addClass(getMobileCssClass());
|
|
3063
3046
|
if (this.isEditable()) {
|
|
3064
3047
|
builder
|
|
3065
3048
|
.addChild('a', b => b
|
|
@@ -3135,7 +3118,7 @@ class EditableColumnRendererCP extends AttrColumnRendererCP {
|
|
|
3135
3118
|
// DataType element
|
|
3136
3119
|
builder = domel('div', exprBlock)
|
|
3137
3120
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
3138
|
-
.addClass(
|
|
3121
|
+
.addClass(getMobileCssClass());
|
|
3139
3122
|
if (this.isEditable()) {
|
|
3140
3123
|
this.createDataTypeMenu();
|
|
3141
3124
|
builder
|
|
@@ -3385,8 +3368,18 @@ class ColumnsPanel extends Widget {
|
|
|
3385
3368
|
const headerBuilder = domel('div', this.slot)
|
|
3386
3369
|
.hide()
|
|
3387
3370
|
.addClass(`${this.cssPrefix}-header`)
|
|
3388
|
-
.addClass(
|
|
3389
|
-
|
|
3371
|
+
.addClass(getMobileCssClass());
|
|
3372
|
+
if (!this.options.alwaysShowButtons) {
|
|
3373
|
+
headerBuilder.addClass("eqjs-no-buttons");
|
|
3374
|
+
}
|
|
3375
|
+
if (this.options.showCheckboxes) {
|
|
3376
|
+
headerBuilder.addChild('div', builder => builder
|
|
3377
|
+
.setStyle('margin-left', '30px')); //quick fix to adjust title column header when showCheckboxes is on
|
|
3378
|
+
}
|
|
3379
|
+
else {
|
|
3380
|
+
headerBuilder.addClass("eqjs-no-checkbox");
|
|
3381
|
+
}
|
|
3382
|
+
headerBuilder.addChild('div', builder => builder
|
|
3390
3383
|
.addClass(`${this.cssPrefix}-header-expression`)
|
|
3391
3384
|
.text(i18n.getText('HeaderExpression')));
|
|
3392
3385
|
if (this.options.showColumnTitles !== false) {
|
|
@@ -3401,13 +3394,13 @@ class ColumnsPanel extends Widget {
|
|
|
3401
3394
|
this.columnsBlock =
|
|
3402
3395
|
domel('div', this.slot)
|
|
3403
3396
|
.addClass(`${this.cssPrefix}-columns`)
|
|
3404
|
-
.addClass(
|
|
3397
|
+
.addClass(getMobileCssClass())
|
|
3405
3398
|
.toDOM();
|
|
3406
3399
|
if (this.options.showAddRow) {
|
|
3407
3400
|
this.addRowElement =
|
|
3408
3401
|
domel('div', this.slot)
|
|
3409
3402
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
3410
|
-
.addClass(
|
|
3403
|
+
.addClass(getMobileCssClass())
|
|
3411
3404
|
.addChild('a', builder => builder
|
|
3412
3405
|
.attr('href', 'javascript:void(0)')
|
|
3413
3406
|
.text(i18n.getText('CmdClickToAddColumn'))
|
|
@@ -3598,7 +3591,7 @@ class ColumnsPanel extends Widget {
|
|
|
3598
3591
|
this.context.options.columnTitleFormat = options.titleElementFormat;
|
|
3599
3592
|
}
|
|
3600
3593
|
if (browserUtils.isMobileMode()) {
|
|
3601
|
-
this.options.buttons = ["menu"];
|
|
3594
|
+
this.options.buttons = ["menu", "sorting"];
|
|
3602
3595
|
this.options.showHeader = false;
|
|
3603
3596
|
}
|
|
3604
3597
|
}
|
|
@@ -3629,7 +3622,7 @@ class ColumnsPanel extends Widget {
|
|
|
3629
3622
|
this.agjustHeaderVisibility();
|
|
3630
3623
|
domel(this.slot)
|
|
3631
3624
|
.removeClass(eqCssMobile)
|
|
3632
|
-
.addClass(
|
|
3625
|
+
.addClass(getMobileCssClass());
|
|
3633
3626
|
const query = this.context.getQuery();
|
|
3634
3627
|
const columns = query.getColumns();
|
|
3635
3628
|
for (let column of columns) {
|
|
@@ -3947,7 +3940,7 @@ class ColumnsPanel extends Widget {
|
|
|
3947
3940
|
renderProgressBlock() {
|
|
3948
3941
|
this.progressBlock = document.createElement('div');
|
|
3949
3942
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
3950
|
-
this.progressBlock.classList.add(
|
|
3943
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
3951
3944
|
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>';
|
|
3952
3945
|
}
|
|
3953
3946
|
}
|
|
@@ -3997,7 +3990,7 @@ class ColumnRendererCB {
|
|
|
3997
3990
|
}
|
|
3998
3991
|
builder
|
|
3999
3992
|
.addClass(this.getClassesToAdd())
|
|
4000
|
-
.addClass(
|
|
3993
|
+
.addClass(getMobileCssClass())
|
|
4001
3994
|
.addChildElement(this.renderCaptionBlock())
|
|
4002
3995
|
.addChildElement(this.renderSortingImage());
|
|
4003
3996
|
if (!browserUtils.isMobileMode()) {
|
|
@@ -4038,7 +4031,7 @@ class ColumnRendererCB {
|
|
|
4038
4031
|
if (!this.isEditable()) {
|
|
4039
4032
|
return domel('div')
|
|
4040
4033
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
4041
|
-
.addClass(
|
|
4034
|
+
.addClass(getMobileCssClass())
|
|
4042
4035
|
.addChild('div', b => b
|
|
4043
4036
|
.title(caption)
|
|
4044
4037
|
.text(caption)
|
|
@@ -4072,7 +4065,7 @@ class ColumnRendererCB {
|
|
|
4072
4065
|
}); //TO DO:add localization and input field);
|
|
4073
4066
|
return domel('div')
|
|
4074
4067
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
4075
|
-
.addClass(
|
|
4068
|
+
.addClass(getMobileCssClass())
|
|
4076
4069
|
.addChild('a', builder => builder
|
|
4077
4070
|
.attr('href', 'javascript:void(0)')
|
|
4078
4071
|
.title(this.column.caption)
|
|
@@ -4148,7 +4141,7 @@ class ColumnRendererCB {
|
|
|
4148
4141
|
else {
|
|
4149
4142
|
return domel('div')
|
|
4150
4143
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-sortimage-placeholder`)
|
|
4151
|
-
.addClass(
|
|
4144
|
+
.addClass(getMobileCssClass())
|
|
4152
4145
|
.addChild('div', builder => builder
|
|
4153
4146
|
.addClass(`${this.cssPrefix}-img-sorting`, sortButtonDirectionCssClass)
|
|
4154
4147
|
.title(i18n.getText('ButtonSorting')))
|
|
@@ -4640,6 +4633,7 @@ class ColumnsBar extends Widget {
|
|
|
4640
4633
|
sortEntities: false,
|
|
4641
4634
|
columnRenderedCallback: null,
|
|
4642
4635
|
customExpressionText: 0,
|
|
4636
|
+
showAddAllForEntity: false
|
|
4643
4637
|
};
|
|
4644
4638
|
this.landingSlot = domel('div')
|
|
4645
4639
|
.addClass(`${eqCssPrefix}-highlight`)
|
|
@@ -4659,7 +4653,7 @@ class ColumnsBar extends Widget {
|
|
|
4659
4653
|
];
|
|
4660
4654
|
domel(this.slot)
|
|
4661
4655
|
.addClass(`${this.cssPrefix}-panel`)
|
|
4662
|
-
.addClass(
|
|
4656
|
+
.addClass(getMobileCssClass());
|
|
4663
4657
|
this.group = WidgetGroup.Query;
|
|
4664
4658
|
this.customQuery = customQuery;
|
|
4665
4659
|
}
|
|
@@ -4878,7 +4872,7 @@ class ColumnsBar extends Widget {
|
|
|
4878
4872
|
renderAddRowButton() {
|
|
4879
4873
|
domel(this.addRowButton)
|
|
4880
4874
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
4881
|
-
.addClass(
|
|
4875
|
+
.addClass(getMobileCssClass())
|
|
4882
4876
|
.title(i18n.getText('CmdClickToAddColumn'))
|
|
4883
4877
|
.addChild('a', builder => builder
|
|
4884
4878
|
.attr('href', 'javascript:void(0)')
|
|
@@ -4888,8 +4882,13 @@ class ColumnsBar extends Widget {
|
|
|
4888
4882
|
anchor: e.target,
|
|
4889
4883
|
selectedIds: null,
|
|
4890
4884
|
itemSelectedCallback: (data, items) => {
|
|
4891
|
-
|
|
4892
|
-
|
|
4885
|
+
if (data.id === '__AddAll__' && data.extra && Array.isArray(data.extra.ids)) {
|
|
4886
|
+
data.extra.ids.forEach(attrId => this.addNewColumn(attrId));
|
|
4887
|
+
}
|
|
4888
|
+
else {
|
|
4889
|
+
const attrid = data.id;
|
|
4890
|
+
this.addNewColumn(attrid);
|
|
4891
|
+
}
|
|
4893
4892
|
return false;
|
|
4894
4893
|
}
|
|
4895
4894
|
});
|
|
@@ -4908,7 +4907,7 @@ class ColumnsBar extends Widget {
|
|
|
4908
4907
|
this.columnsBlock =
|
|
4909
4908
|
domel('div')
|
|
4910
4909
|
.addClass(`${this.cssPrefix}-columns`)
|
|
4911
|
-
.addClass(
|
|
4910
|
+
.addClass(getMobileCssClass())
|
|
4912
4911
|
.toDOM();
|
|
4913
4912
|
if (this.options.showAddRow) {
|
|
4914
4913
|
this.addRowButton =
|
|
@@ -4938,7 +4937,7 @@ class ColumnsBar extends Widget {
|
|
|
4938
4937
|
this.columnButtonsBlockMobileArrow = domel('i').toDOM();
|
|
4939
4938
|
this.columnButtonsBlockMobile = domel('div')
|
|
4940
4939
|
.addClass(`${this.cssPrefix}-column-buttonsBlock`)
|
|
4941
|
-
.addClass(
|
|
4940
|
+
.addClass(getMobileCssClass())
|
|
4942
4941
|
.addChildElement(this.columnButtonsBlockMobileArrow)
|
|
4943
4942
|
.hide()
|
|
4944
4943
|
.toDOM();
|
|
@@ -5158,6 +5157,23 @@ class ColumnsBar extends Widget {
|
|
|
5158
5157
|
showEntitiesMenu(menuOptions) {
|
|
5159
5158
|
this.entitiesMenu && this.entitiesMenu.showMenu(menuOptions);
|
|
5160
5159
|
}
|
|
5160
|
+
addAllColumnsToEntitiesList(list) {
|
|
5161
|
+
const attrIds = list.filter(item => !item.isEntity).map(item => item.id);
|
|
5162
|
+
if (attrIds.length > 0) {
|
|
5163
|
+
list.unshift({
|
|
5164
|
+
id: '__AddAll__',
|
|
5165
|
+
text: i18n.getText('AddAllForEntityText'),
|
|
5166
|
+
extra: {
|
|
5167
|
+
ids: attrIds
|
|
5168
|
+
}
|
|
5169
|
+
});
|
|
5170
|
+
}
|
|
5171
|
+
list.forEach(item => {
|
|
5172
|
+
if (item.items) {
|
|
5173
|
+
this.addAllColumnsToEntitiesList(item.items);
|
|
5174
|
+
}
|
|
5175
|
+
});
|
|
5176
|
+
}
|
|
5161
5177
|
createEntitiesMenu() {
|
|
5162
5178
|
const model = this.getContext().getModel();
|
|
5163
5179
|
if (!model || model.isEmpty())
|
|
@@ -5167,6 +5183,10 @@ class ColumnsBar extends Widget {
|
|
|
5167
5183
|
menuId += '-EntitiesMenu';
|
|
5168
5184
|
}
|
|
5169
5185
|
const entitiesList = model.getEntitiesTree({ addUIC: false, addUIR: true, addUIS: false, attrPlacement: this.options.attrPlacement, sortEntities: this.options.sortEntities });
|
|
5186
|
+
// add [Add all columns] items
|
|
5187
|
+
if (this.options.showAddAllForEntity) {
|
|
5188
|
+
this.addAllColumnsToEntitiesList(entitiesList);
|
|
5189
|
+
}
|
|
5170
5190
|
const options = { items: entitiesList, adjustHeight: this.options.adjustEntitiesMenuHeight, id: menuId, domWriteItemsId: this.options.domWriteItemsId };
|
|
5171
5191
|
utils.assign(options, this.options.menuOptions);
|
|
5172
5192
|
this.entitiesMenu = new PopupMenu(options);
|
|
@@ -5295,7 +5315,7 @@ class ColumnRendererSB {
|
|
|
5295
5315
|
}
|
|
5296
5316
|
builder
|
|
5297
5317
|
.addClass(this.getClassesToAdd())
|
|
5298
|
-
.addClass(
|
|
5318
|
+
.addClass(getMobileCssClass())
|
|
5299
5319
|
.addChildElement(this.renderCaptionBlock());
|
|
5300
5320
|
if (this.isEditable()) {
|
|
5301
5321
|
builder
|
|
@@ -5333,7 +5353,7 @@ class ColumnRendererSB {
|
|
|
5333
5353
|
}
|
|
5334
5354
|
return domel('div')
|
|
5335
5355
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
5336
|
-
.addClass(
|
|
5356
|
+
.addClass(getMobileCssClass())
|
|
5337
5357
|
.addChild('div', b => b
|
|
5338
5358
|
.title(this.column.caption)
|
|
5339
5359
|
.text(text))
|
|
@@ -5355,7 +5375,7 @@ class ColumnRendererSB {
|
|
|
5355
5375
|
}
|
|
5356
5376
|
const builder = domel('div')
|
|
5357
5377
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-sortimage-placeholder`)
|
|
5358
|
-
.addClass(
|
|
5378
|
+
.addClass(getMobileCssClass())
|
|
5359
5379
|
.addChild('div', builder => builder
|
|
5360
5380
|
.addClass(`${this.cssPrefix}-img-sorting`, sortButtonDirectionCssClass)
|
|
5361
5381
|
.title(i18n.getText('ButtonSorting')))
|
|
@@ -5446,7 +5466,7 @@ class SortingBar extends Widget {
|
|
|
5446
5466
|
this.landingIndex = -1;
|
|
5447
5467
|
domel(this.slot)
|
|
5448
5468
|
.addClass(`${this.cssPrefix}-panel`)
|
|
5449
|
-
.addClass(
|
|
5469
|
+
.addClass(getMobileCssClass());
|
|
5450
5470
|
this.group = WidgetGroup.Query;
|
|
5451
5471
|
}
|
|
5452
5472
|
getWidgetType() {
|
|
@@ -5529,7 +5549,7 @@ class SortingBar extends Widget {
|
|
|
5529
5549
|
renderAddRowButton() {
|
|
5530
5550
|
domel(this.addRowButton)
|
|
5531
5551
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
5532
|
-
.addClass(
|
|
5552
|
+
.addClass(getMobileCssClass())
|
|
5533
5553
|
.title(i18n.getText('CmdClickToAddColumn'))
|
|
5534
5554
|
.addChild('a', builder => builder
|
|
5535
5555
|
.attr('href', 'javascript:void(0)')
|
|
@@ -5585,7 +5605,7 @@ class SortingBar extends Widget {
|
|
|
5585
5605
|
this.columnsBlock =
|
|
5586
5606
|
domel('div')
|
|
5587
5607
|
.addClass(`${this.cssPrefix}-columns`)
|
|
5588
|
-
.addClass(
|
|
5608
|
+
.addClass(getMobileCssClass())
|
|
5589
5609
|
.toDOM();
|
|
5590
5610
|
if (this.options.showAddRow) {
|
|
5591
5611
|
this.addRowButton =
|
|
@@ -5766,7 +5786,7 @@ class TextRenderer {
|
|
|
5766
5786
|
domel(this.element)
|
|
5767
5787
|
.html('')
|
|
5768
5788
|
.addClass(this.getClassesToAdd())
|
|
5769
|
-
.addClass(
|
|
5789
|
+
.addClass(getMobileCssClass())
|
|
5770
5790
|
.addChild('span', builder => builder
|
|
5771
5791
|
.text(this.text)
|
|
5772
5792
|
.title(this.text))
|
|
@@ -5852,7 +5872,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
5852
5872
|
this.element = builder.toDOM();
|
|
5853
5873
|
builder
|
|
5854
5874
|
.addClass(this.getClassesToAdd())
|
|
5855
|
-
.addClass(
|
|
5875
|
+
.addClass(getMobileCssClass())
|
|
5856
5876
|
.data('id', this.condition.id)
|
|
5857
5877
|
.data('condrow', '')
|
|
5858
5878
|
.addChildElement(this.renderCheckbox())
|
|
@@ -6126,7 +6146,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6126
6146
|
};
|
|
6127
6147
|
const builder = domel("div")
|
|
6128
6148
|
.addClass(`${this.cssPrefix}-condition-buttonsBlock`)
|
|
6129
|
-
.addClass(
|
|
6149
|
+
.addClass(getMobileCssClass());
|
|
6130
6150
|
this.buttonsBlock = builder.toDOM();
|
|
6131
6151
|
if (this.condition.isReadOnly()) {
|
|
6132
6152
|
return this.buttonsBlock;
|
|
@@ -6290,7 +6310,7 @@ class ConditionGroupRenderer extends ConditionRenderer {
|
|
|
6290
6310
|
coreRender(autoAppear) {
|
|
6291
6311
|
domel(this.element)
|
|
6292
6312
|
.addClass(this.getClassesToAdd())
|
|
6293
|
-
.addClass(
|
|
6313
|
+
.addClass(getMobileCssClass())
|
|
6294
6314
|
.addChildElement(this.renderGroupRow())
|
|
6295
6315
|
.addChildElement(this.renderConditions(autoAppear))
|
|
6296
6316
|
.data('id', this.condition.id)
|
|
@@ -6308,7 +6328,7 @@ class ConditionGroupRenderer extends ConditionRenderer {
|
|
|
6308
6328
|
const builder = domel('div');
|
|
6309
6329
|
builder
|
|
6310
6330
|
.addClass(`${this.cssPrefix}-conditions`)
|
|
6311
|
-
.addClass(`${
|
|
6331
|
+
.addClass(`${getMobileCssClass()}`)
|
|
6312
6332
|
.data('conditions', '');
|
|
6313
6333
|
if (this.isRoot) {
|
|
6314
6334
|
builder.addClass(`${this.cssPrefix}-conditions-root`);
|
|
@@ -6350,7 +6370,7 @@ class ConditionGroupRowRenderer extends SimpleConditionRenderer {
|
|
|
6350
6370
|
coreRender(autoAppear) {
|
|
6351
6371
|
const builder = domel(this.element)
|
|
6352
6372
|
.addClass(this.getClassesToAdd())
|
|
6353
|
-
.addClass(
|
|
6373
|
+
.addClass(getMobileCssClass())
|
|
6354
6374
|
.data('group-row', '')
|
|
6355
6375
|
.addChildElement(this.renderCheckbox())
|
|
6356
6376
|
.addChildElement(this.renderConjunction());
|
|
@@ -6486,7 +6506,7 @@ class BaseElementRenderer {
|
|
|
6486
6506
|
domel(this.element)
|
|
6487
6507
|
.html('')
|
|
6488
6508
|
.addClass(this.getClassesToAdd())
|
|
6489
|
-
.addClass(
|
|
6509
|
+
.addClass(getMobileCssClass())
|
|
6490
6510
|
.addChildElement(this.labelElement);
|
|
6491
6511
|
if (this.isEditable()) {
|
|
6492
6512
|
this.renderEditor();
|
|
@@ -7244,7 +7264,7 @@ class DateTimeExpressionRenderer extends ExpressionRenderer {
|
|
|
7244
7264
|
dateTime = model.getTimeMacroValue(value);
|
|
7245
7265
|
}
|
|
7246
7266
|
else {
|
|
7247
|
-
dateTime = this.convertFromInternalFormat(value);
|
|
7267
|
+
dateTime = this.convertFromInternalFormat(value, new Date());
|
|
7248
7268
|
}
|
|
7249
7269
|
this.dtp.setDateTime(dateTime);
|
|
7250
7270
|
this.dtp.show(this.element);
|
|
@@ -7274,8 +7294,13 @@ class DateTimeExpressionRenderer extends ExpressionRenderer {
|
|
|
7274
7294
|
return super.isEditable()
|
|
7275
7295
|
&& ((this.panel.options.editableParts & QPEditablePart.Value) === QPEditablePart.Value);
|
|
7276
7296
|
}
|
|
7277
|
-
convertFromInternalFormat(
|
|
7278
|
-
|
|
7297
|
+
convertFromInternalFormat(dateTimeStr, defautValue) {
|
|
7298
|
+
try {
|
|
7299
|
+
return utils.strToDateTime(dateTimeStr, this.internalDateFormat + ' ' + this.internalTimeFormat);
|
|
7300
|
+
}
|
|
7301
|
+
catch (_a) {
|
|
7302
|
+
return defautValue || new Date();
|
|
7303
|
+
}
|
|
7279
7304
|
}
|
|
7280
7305
|
convertToInternalFormat(dateTime) {
|
|
7281
7306
|
return i18n.dateTimeToStr(dateTime, this.internalDateFormat + ' ' + this.internalTimeFormat);
|
|
@@ -7807,7 +7832,7 @@ class QueryPanel extends Widget {
|
|
|
7807
7832
|
.toDOM();
|
|
7808
7833
|
domel(this.slot)
|
|
7809
7834
|
.removeClass(eqCssMobile)
|
|
7810
|
-
.addClass(
|
|
7835
|
+
.addClass(getMobileCssClass());
|
|
7811
7836
|
const query = this.getQuery();
|
|
7812
7837
|
const root = query.getRootCondition();
|
|
7813
7838
|
const renderer = this.getConditionRenderer(root, this.rootContainer);
|
|
@@ -8126,7 +8151,7 @@ class QueryPanel extends Widget {
|
|
|
8126
8151
|
renderProgressBlock() {
|
|
8127
8152
|
this.progressBlock = document.createElement('div');
|
|
8128
8153
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
8129
|
-
this.progressBlock.classList.add(
|
|
8154
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
8130
8155
|
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>';
|
|
8131
8156
|
}
|
|
8132
8157
|
clonePanel(slot, query) {
|
|
@@ -8242,7 +8267,7 @@ class FilterBar extends Widget {
|
|
|
8242
8267
|
render() {
|
|
8243
8268
|
domel(this.slot)
|
|
8244
8269
|
.addClass(`${this.cssPrefix}-container`)
|
|
8245
|
-
.addClass(
|
|
8270
|
+
.addClass(getMobileCssClass())
|
|
8246
8271
|
.addChild('div', builder => this.headerElement = builder
|
|
8247
8272
|
.addClass(`${this.cssPrefix}-header`)
|
|
8248
8273
|
.addChild('div', builder => this.headerIconElement = builder
|
|
@@ -8288,14 +8313,14 @@ class FilterBar extends Widget {
|
|
|
8288
8313
|
.toDOM())
|
|
8289
8314
|
.addChild('div', builder => this.qpBlock = builder
|
|
8290
8315
|
.addClass(`${this.cssPrefix}-querypanelblock`)
|
|
8291
|
-
.addClass(
|
|
8316
|
+
.addClass(getMobileCssClass())
|
|
8292
8317
|
.hide()
|
|
8293
8318
|
.addChildElement(this.qpElement)
|
|
8294
8319
|
.toDOM());
|
|
8295
8320
|
if (this.options.showApplyButton || this.options.showClearButton) {
|
|
8296
8321
|
this.buttonsBlock = domel('div', this.qpBlock)
|
|
8297
8322
|
.addClass(`${this.cssPrefix}-buttonsblock`)
|
|
8298
|
-
.addClass(
|
|
8323
|
+
.addClass(getMobileCssClass())
|
|
8299
8324
|
.toDOM();
|
|
8300
8325
|
}
|
|
8301
8326
|
if (this.options.showApplyButton) {
|
|
@@ -10084,6 +10109,7 @@ class PivotTableFacet extends ResultFacet {
|
|
|
10084
10109
|
this.title = i18n.getText('Facets', 'Pivot', 'FacetTitle');
|
|
10085
10110
|
this.dialogTitle = i18n.getText('Facets', 'Pivot', 'DlgTitle');
|
|
10086
10111
|
this.pivotTable = new EasyDataTable();
|
|
10112
|
+
this.settings = {};
|
|
10087
10113
|
}
|
|
10088
10114
|
init(slot) {
|
|
10089
10115
|
super.init(slot);
|
|
@@ -10364,14 +10390,14 @@ class PivotTableFacet extends ResultFacet {
|
|
|
10364
10390
|
saveToData() {
|
|
10365
10391
|
const data = super.saveToData();
|
|
10366
10392
|
if (this.settings) {
|
|
10367
|
-
utils.
|
|
10393
|
+
utils.assign(data, this.settings);
|
|
10368
10394
|
}
|
|
10369
10395
|
return data;
|
|
10370
10396
|
}
|
|
10371
10397
|
loadFromData(data) {
|
|
10372
10398
|
super.loadFromData(data);
|
|
10373
10399
|
if (data) {
|
|
10374
|
-
this.settings = utils.
|
|
10400
|
+
this.settings = utils.assign(this.settings, data);
|
|
10375
10401
|
if (this.settings.aggrFunc == 'AVERAGE') {
|
|
10376
10402
|
this.settings.aggrFunc = AggrFunc.Average;
|
|
10377
10403
|
}
|
|
@@ -10960,7 +10986,7 @@ class ResultFacetsPanel extends FacetContainer {
|
|
|
10960
10986
|
this._processBlock = domel('div')
|
|
10961
10987
|
.addClass(`${this.cssPrefix}-spinner`)
|
|
10962
10988
|
.addChild('div', b => b
|
|
10963
|
-
.addClass(`${eqCssPrefix}-progress-win8`,
|
|
10989
|
+
.addClass(`${eqCssPrefix}-progress-win8`, getMobileCssClass())
|
|
10964
10990
|
.addHtml(html))
|
|
10965
10991
|
.toDOM();
|
|
10966
10992
|
}
|
|
@@ -11932,7 +11958,7 @@ class AggregationBar extends Widget {
|
|
|
11932
11958
|
}
|
|
11933
11959
|
render() {
|
|
11934
11960
|
this.slot.classList.add(`${this.cssPrefix}-panel`);
|
|
11935
|
-
const mobClass =
|
|
11961
|
+
const mobClass = getMobileCssClass();
|
|
11936
11962
|
if (mobClass) {
|
|
11937
11963
|
this.slot.classList.add(mobClass);
|
|
11938
11964
|
}
|
|
@@ -12065,7 +12091,7 @@ class QueryNameWidget extends Widget {
|
|
|
12065
12091
|
}
|
|
12066
12092
|
render() {
|
|
12067
12093
|
this.slot.classList.add(`${this.cssPrefix}`);
|
|
12068
|
-
const mobClass =
|
|
12094
|
+
const mobClass = getMobileCssClass();
|
|
12069
12095
|
if (mobClass) {
|
|
12070
12096
|
this.slot.classList.add(mobClass);
|
|
12071
12097
|
}
|
|
@@ -12173,7 +12199,7 @@ class View {
|
|
|
12173
12199
|
}
|
|
12174
12200
|
initOptions(options) {
|
|
12175
12201
|
options = utils.assignDeep(this.defaultViewOptions, options);
|
|
12176
|
-
// support old format
|
|
12202
|
+
// support old format
|
|
12177
12203
|
if (!options.widgets.easyGrid) {
|
|
12178
12204
|
options.widgets.easyGrid = options.widgets.resultGrid || {};
|
|
12179
12205
|
}
|
|
@@ -12403,7 +12429,7 @@ class View {
|
|
|
12403
12429
|
this._spinnerDiv = domel('div')
|
|
12404
12430
|
.addClass(`eqjs-result-spinner`)
|
|
12405
12431
|
.addChild('div', b => b
|
|
12406
|
-
.addClass(`${eqCssPrefix}-progress-win8`,
|
|
12432
|
+
.addClass(`${eqCssPrefix}-progress-win8`, getMobileCssClass())
|
|
12407
12433
|
.addHtml(html))
|
|
12408
12434
|
.toDOM();
|
|
12409
12435
|
}
|
|
@@ -12627,6 +12653,9 @@ class View {
|
|
|
12627
12653
|
this.domRoots = [document];
|
|
12628
12654
|
this.resetContext();
|
|
12629
12655
|
}
|
|
12656
|
+
refreshWidgets(groups) {
|
|
12657
|
+
this.context.refreshWidgets(groups);
|
|
12658
|
+
}
|
|
12630
12659
|
}
|
|
12631
12660
|
|
|
12632
12661
|
/**
|
|
@@ -12904,8 +12933,12 @@ class AdvancedSearchView extends View {
|
|
|
12904
12933
|
});
|
|
12905
12934
|
}
|
|
12906
12935
|
clearQueryButtonClick() {
|
|
12907
|
-
this.
|
|
12908
|
-
|
|
12936
|
+
this.showQueryClearDialog((result) => {
|
|
12937
|
+
if (result) {
|
|
12938
|
+
this.context.clearQuery();
|
|
12939
|
+
this.context.refreshWidgets(WidgetGroup.Statement);
|
|
12940
|
+
}
|
|
12941
|
+
});
|
|
12909
12942
|
}
|
|
12910
12943
|
createNewQuery(options) {
|
|
12911
12944
|
return this.context.newQuery(options);
|
|
@@ -12935,22 +12968,43 @@ class AdvancedSearchView extends View {
|
|
|
12935
12968
|
saveCurrentQuery(copyQuery = false, callback) {
|
|
12936
12969
|
const query = this.context.getQuery();
|
|
12937
12970
|
if (query.isNewbie || copyQuery) {
|
|
12938
|
-
this.showSaveQueryDialog((
|
|
12939
|
-
if (!
|
|
12971
|
+
this.showSaveQueryDialog((newQueryName) => new Promise(resolve => {
|
|
12972
|
+
if (!newQueryName)
|
|
12940
12973
|
return;
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12974
|
+
this.checkSaveQueryName(newQueryName)
|
|
12975
|
+
.then(() => {
|
|
12976
|
+
query.regenerateId();
|
|
12977
|
+
query.setName(newQueryName);
|
|
12978
|
+
query.fireChangedEvent({
|
|
12979
|
+
part: QueryChangePart.Properties,
|
|
12980
|
+
wasModified: true
|
|
12981
|
+
});
|
|
12982
|
+
this.saveQuery(() => { resolve({ success: true }); }, (error) => resolve({ success: false, message: error }));
|
|
12983
|
+
}, (message) => resolve({ success: false, message }));
|
|
12948
12984
|
}));
|
|
12949
12985
|
}
|
|
12950
12986
|
else {
|
|
12951
12987
|
this.saveQuery(callback);
|
|
12952
12988
|
}
|
|
12953
12989
|
}
|
|
12990
|
+
checkSaveQueryName(name) {
|
|
12991
|
+
return new Promise((resolve, reject) => {
|
|
12992
|
+
this.context.loadQueryList({
|
|
12993
|
+
success: (queryList) => {
|
|
12994
|
+
const found = queryList.filter(item => item.name.toLowerCase() == name.toLowerCase());
|
|
12995
|
+
if (found.length == 0) {
|
|
12996
|
+
resolve();
|
|
12997
|
+
}
|
|
12998
|
+
else {
|
|
12999
|
+
reject("Can't save the query. A query with this name already exists.");
|
|
13000
|
+
}
|
|
13001
|
+
},
|
|
13002
|
+
error: (message) => {
|
|
13003
|
+
reject(message);
|
|
13004
|
+
}
|
|
13005
|
+
});
|
|
13006
|
+
});
|
|
13007
|
+
}
|
|
12954
13008
|
checkIfQueryModified(callback) {
|
|
12955
13009
|
if (this.context.getQuery().isModified()
|
|
12956
13010
|
&& !this.viewOptions.disableConfirmationOnQueryChange) {
|
|
@@ -13029,6 +13083,10 @@ class AdvancedSearchView extends View {
|
|
|
13029
13083
|
}
|
|
13030
13084
|
});
|
|
13031
13085
|
}
|
|
13086
|
+
showQueryClearDialog(callback) {
|
|
13087
|
+
const ds = this.getDialogService();
|
|
13088
|
+
ds.openConfirm(i18n.getText('QueryChangedTitle'), i18n.getText('QueryClearContent'), callback);
|
|
13089
|
+
}
|
|
13032
13090
|
showQueryChangedDialog(callback) {
|
|
13033
13091
|
const ds = this.getDialogService();
|
|
13034
13092
|
ds.openConfirm(i18n.getText('QueryChangedTitle'), i18n.getText('QueryChangedContent'), callback);
|
|
@@ -14188,6 +14246,7 @@ function addEasyQueryUITexts() {
|
|
|
14188
14246
|
CmdDeleteColumn: 'Delete column',
|
|
14189
14247
|
CmdDeleteSorting: 'Delete sorting',
|
|
14190
14248
|
CmdDescending: 'Descending',
|
|
14249
|
+
CmdGroupAppearance: 'Appearance',
|
|
14191
14250
|
CmdGroupSort: 'Sorting',
|
|
14192
14251
|
CmdGroupFormat: 'Display format',
|
|
14193
14252
|
CmdNotSorted: 'Not sorted',
|
|
@@ -14235,6 +14294,7 @@ function addEasyQueryUITexts() {
|
|
|
14235
14294
|
SaveQueryDefName: '{queryName} copy',
|
|
14236
14295
|
QueryChangedTitle: 'Confirmation',
|
|
14237
14296
|
QueryChangedContent: 'The query was changed. Do you want to save it first?',
|
|
14297
|
+
QueryClearContent: 'The query will cleared. Do you want to continue?',
|
|
14238
14298
|
UpdateQuerySelector: '[click here to load the query]',
|
|
14239
14299
|
FileNameLabel: 'File name: ',
|
|
14240
14300
|
SaveQueryToFileDlgTitle: 'Save query to file',
|
|
@@ -14376,4 +14436,4 @@ if (!Array.prototype.findIndex) {
|
|
|
14376
14436
|
};
|
|
14377
14437
|
}
|
|
14378
14438
|
|
|
14379
|
-
export { AddRowRenderer, AdvancedSearchView, AggrFuncColumnRendererCB, AggrFuncColumnRendererCP, AggrSettingsDialog, AggrSettingsRenderer, AggregationBar, AttrColumnRendererCB, AttrColumnRendererCP, AttributeExpressionRenderer, BaseElementRenderer, ChartFacet, ChartJsWidget, ChartType, ChartWidget, ColumnAction, ColumnRendererCB, ColumnRendererCP, ColumnsBar, ColumnsPanel, ConditionAction, ConditionGroupRenderer, ConditionGroupRowRenderer, ConditionRenderer, ConstColumnRendererCP, CustomListExpressionRenderer, CustomSqlColumnRendererCP, DataFilterView, DataTableFacet, DateTimeExpressionRenderer, DomDropDownElementBuilder, DropDownRenderer, EasyGridWidget, EntitiesPanel, EqHtmlGrid, ExportDialog, ExportWidget, ExpressionRenderer, FacetContainer, FacetType, FilterBar, GoogleChartWidget, Grid, HtmlContentWidget, HtmlDataFilterView, InputExpressionRenderer, ListExpressionRenderer, ManageDrillDownWidget, OperatorRenderer, PivotTableFacet, PopupMenu, ProcessWidget, QPEditablePart, QueryPanel, ReportView, ResultFacet, ResultFacetsPanel, SimpleConditionRenderer, SortingBar, SqlListExpressionRenderer, StatementPanel, SubQueryExpressionRenderer, TextRenderer, View,
|
|
14439
|
+
export { AddRowRenderer, AdvancedSearchView, AggrFuncColumnRendererCB, AggrFuncColumnRendererCP, AggrSettingsDialog, AggrSettingsRenderer, AggregationBar, AttrColumnRendererCB, AttrColumnRendererCP, AttributeExpressionRenderer, BaseElementRenderer, ChartFacet, ChartJsWidget, ChartType, ChartWidget, ColumnAction, ColumnRendererCB, ColumnRendererCP, ColumnsBar, ColumnsPanel, ConditionAction, ConditionGroupRenderer, ConditionGroupRowRenderer, ConditionRenderer, ConstColumnRendererCP, CustomListExpressionRenderer, CustomSqlColumnRendererCP, DataFilterView, DataTableFacet, DateTimeExpressionRenderer, DomDropDownElementBuilder, DropDownRenderer, EasyGridWidget, EntitiesPanel, EqHtmlGrid, ExportDialog, ExportWidget, ExpressionRenderer, FacetContainer, FacetType, FilterBar, GoogleChartWidget, Grid, HtmlContentWidget, HtmlDataFilterView, InputExpressionRenderer, ListExpressionRenderer, ManageDrillDownWidget, OperatorRenderer, PivotTableFacet, PopupMenu, ProcessWidget, QPEditablePart, QueryPanel, ReportView, ResultFacet, ResultFacetsPanel, SimpleConditionRenderer, SortingBar, SqlListExpressionRenderer, StatementPanel, SubQueryExpressionRenderer, TextRenderer, View, dropdown };
|