@easyquery/ui 7.2.5 → 7.3.0-rc01
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 +435 -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 +298 -0
- package/dist/easyquery.ui.cjs.js +202 -178
- package/dist/easyquery.ui.esm.js +166 -142
- 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/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.cjs.js
CHANGED
|
@@ -29,64 +29,9 @@ function safeFocus(element) {
|
|
|
29
29
|
}
|
|
30
30
|
const eqCssPrefix = 'eqjs';
|
|
31
31
|
const eqCssMobile = 'eqjs-mobile';
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
let _isFirefox = null;
|
|
36
|
-
function isIE() {
|
|
37
|
-
const ua = window.navigator.userAgent;
|
|
38
|
-
return ua.includes('MSIE') || ua.includes('Trident');
|
|
39
|
-
}
|
|
40
|
-
browserUtils.isIE = isIE;
|
|
41
|
-
function isFirefox() {
|
|
42
|
-
if (_isFirefox === null) {
|
|
43
|
-
const ua = navigator.userAgent;
|
|
44
|
-
_isFirefox = ua.toLowerCase().indexOf('firefox') > -1;
|
|
45
|
-
}
|
|
46
|
-
return _isFirefox;
|
|
47
|
-
}
|
|
48
|
-
browserUtils.isFirefox = isFirefox;
|
|
49
|
-
let _detectedIsMobileMode = false;
|
|
50
|
-
let _isMobileMode = undefined;
|
|
51
|
-
let detectIsMobileMode = () => {
|
|
52
|
-
const oldValue = isMobileMode();
|
|
53
|
-
_detectedIsMobileMode = window.matchMedia('only screen and (max-width: 840px)').matches
|
|
54
|
-
|| window.matchMedia('only screen and (max-height: 420px)').matches;
|
|
55
|
-
const newValue = isMobileMode();
|
|
56
|
-
if (newValue !== oldValue && mobileModeChangeHandler) {
|
|
57
|
-
mobileModeChangeHandler(newValue);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
detectIsMobileMode();
|
|
61
|
-
window.addEventListener('resize', () => detectIsMobileMode());
|
|
62
|
-
function isMobileMode() {
|
|
63
|
-
if (_isMobileMode !== undefined) {
|
|
64
|
-
return _isMobileMode;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return _detectedIsMobileMode;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
browserUtils.isMobileMode = isMobileMode;
|
|
71
|
-
function setIsMobileMode(value) {
|
|
72
|
-
const oldValue = isMobileMode();
|
|
73
|
-
_isMobileMode = value;
|
|
74
|
-
const newValue = isMobileMode();
|
|
75
|
-
if (newValue !== oldValue && mobileModeChangeHandler) {
|
|
76
|
-
mobileModeChangeHandler(newValue);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
browserUtils.setIsMobileMode = setIsMobileMode;
|
|
80
|
-
let mobileModeChangeHandler;
|
|
81
|
-
function onMobileModeChanged(callback) {
|
|
82
|
-
mobileModeChangeHandler = callback;
|
|
83
|
-
}
|
|
84
|
-
browserUtils.onMobileModeChanged = onMobileModeChanged;
|
|
85
|
-
function getMobileCssClass() {
|
|
86
|
-
return isMobileMode() ? eqCssMobile : null;
|
|
87
|
-
}
|
|
88
|
-
browserUtils.getMobileCssClass = getMobileCssClass;
|
|
89
|
-
})(exports.browserUtils || (exports.browserUtils = {}));
|
|
32
|
+
function getMobileCssClass() {
|
|
33
|
+
return ui.browserUtils.isMobileMode() ? eqCssMobile : null;
|
|
34
|
+
}
|
|
90
35
|
|
|
91
36
|
/**
|
|
92
37
|
* The entities panel wiget, implemented without JQuery.
|
|
@@ -185,7 +130,7 @@ class EntitiesPanel extends core.Widget {
|
|
|
185
130
|
let model = this.context.getModel();
|
|
186
131
|
this.clear();
|
|
187
132
|
this.panel.classList.add(`${this.cssPrefix}-panel`);
|
|
188
|
-
this.panel.classList.add(
|
|
133
|
+
this.panel.classList.add(getMobileCssClass());
|
|
189
134
|
this.rootEntityBlock = document.createElement('div');
|
|
190
135
|
if (model != null && !model.isEmpty()) {
|
|
191
136
|
let entTree = model.getEntitiesTree({
|
|
@@ -216,10 +161,10 @@ class EntitiesPanel extends core.Widget {
|
|
|
216
161
|
let entityBlock;
|
|
217
162
|
let entityNode = document.createElement('div');
|
|
218
163
|
entityNode.classList.add(`${this.cssPrefix}-entity-node`);
|
|
219
|
-
entityNode.classList.add(
|
|
164
|
+
entityNode.classList.add(getMobileCssClass());
|
|
220
165
|
let entityChildren = document.createElement('div');
|
|
221
166
|
entityChildren.classList.add(`${this.cssPrefix}-entity-children`);
|
|
222
|
-
entityChildren.classList.add(
|
|
167
|
+
entityChildren.classList.add(getMobileCssClass());
|
|
223
168
|
let nodeLabel = document.createElement('label');
|
|
224
169
|
nodeLabel.classList.add(`${this.cssPrefix}-entity-node-label`);
|
|
225
170
|
let nodeInput = document.createElement('input');
|
|
@@ -243,7 +188,7 @@ class EntitiesPanel extends core.Widget {
|
|
|
243
188
|
entityBlock = document.createElement('div');
|
|
244
189
|
}
|
|
245
190
|
entityBlock.classList.add(`${this.cssPrefix}-entity`);
|
|
246
|
-
entityBlock.classList.add(
|
|
191
|
+
entityBlock.classList.add(getMobileCssClass());
|
|
247
192
|
if (entity.id && entity.id != "") {
|
|
248
193
|
nodeLabel.innerText = entity.text;
|
|
249
194
|
entityNode.appendChild(nodeLabel); //caption
|
|
@@ -414,7 +359,7 @@ class EntitiesPanel extends core.Widget {
|
|
|
414
359
|
createFilterBox() {
|
|
415
360
|
this.filterBoxBlock = document.createElement('div');
|
|
416
361
|
this.filterBoxBlock.classList.add(`${this.cssPrefix}-filter-box`);
|
|
417
|
-
this.filterBoxBlock.classList.add(
|
|
362
|
+
this.filterBoxBlock.classList.add(getMobileCssClass());
|
|
418
363
|
this.filterBoxInput = document.createElement('input');
|
|
419
364
|
this.filterBoxInput.classList.add(`${this.cssPrefix}-filter-box-input`);
|
|
420
365
|
this.filterBoxInput.addEventListener('input', (e) => {
|
|
@@ -447,7 +392,7 @@ class EntitiesPanel extends core.Widget {
|
|
|
447
392
|
let defClass = `${this.cssPrefix}-tool-panel`;
|
|
448
393
|
let toolPanelBlock = document.createElement('div');
|
|
449
394
|
toolPanelBlock.classList.add(defClass);
|
|
450
|
-
toolPanelBlock.classList.add(
|
|
395
|
+
toolPanelBlock.classList.add(getMobileCssClass());
|
|
451
396
|
let toolSelectAll = document.createElement('div');
|
|
452
397
|
toolSelectAll.classList.add(`${defClass}-select-all`);
|
|
453
398
|
toolSelectAll.title = 'Select all';
|
|
@@ -660,7 +605,7 @@ class EntitiesPanel extends core.Widget {
|
|
|
660
605
|
renderProgressBlock() {
|
|
661
606
|
this.progressBlock = document.createElement('div');
|
|
662
607
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
663
|
-
this.progressBlock.classList.add(
|
|
608
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
664
609
|
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>';
|
|
665
610
|
}
|
|
666
611
|
clear() {
|
|
@@ -717,7 +662,7 @@ class MenuLevel {
|
|
|
717
662
|
const isSubQuery = this.parentMenu.options.isSubQuery;
|
|
718
663
|
//add base DIV element which is also used to show the shadow
|
|
719
664
|
const baseDivBuilder = ui.domel('div')
|
|
720
|
-
.addClass(
|
|
665
|
+
.addClass(getMobileCssClass());
|
|
721
666
|
if (this.parentMenu.options.useDefaultStyles) {
|
|
722
667
|
baseDivBuilder
|
|
723
668
|
.setStyle('backgroundColor', itemBgColor)
|
|
@@ -841,7 +786,7 @@ class MenuLevel {
|
|
|
841
786
|
scrollDiv.tabIndex = 1;
|
|
842
787
|
ui.domel(scrollDiv)
|
|
843
788
|
.addClass(`${this.cssPrefix}-scrollDiv`)
|
|
844
|
-
.addClass(
|
|
789
|
+
.addClass(getMobileCssClass());
|
|
845
790
|
scrollDiv.style.overflowX = "hidden";
|
|
846
791
|
scrollDiv.style.overflowY = "auto";
|
|
847
792
|
scrollDiv.style.position = "relative";
|
|
@@ -893,7 +838,7 @@ class MenuLevel {
|
|
|
893
838
|
event.preventDefault(); // prevent the default action (scroll / move caret)
|
|
894
839
|
};
|
|
895
840
|
scrollDiv.addEventListener("keydown", scrollDivKeyDownHandler);
|
|
896
|
-
if (
|
|
841
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
897
842
|
this.closeDiv =
|
|
898
843
|
ui.domel('div', baseDiv)
|
|
899
844
|
.addClass('eqjs-menu-close-btn')
|
|
@@ -1038,7 +983,7 @@ class MenuLevel {
|
|
|
1038
983
|
const itemDiv = document.createElement("div");
|
|
1039
984
|
ui.domel(itemDiv)
|
|
1040
985
|
.addClass(`${this.cssPrefix}-itemDiv`)
|
|
1041
|
-
.addClass(
|
|
986
|
+
.addClass(getMobileCssClass());
|
|
1042
987
|
if (item.selected && this.showSelected && !multiselect) {
|
|
1043
988
|
itemDiv.classList.add(`${this.cssPrefix}-selected`);
|
|
1044
989
|
}
|
|
@@ -1221,7 +1166,7 @@ class MenuLevel {
|
|
|
1221
1166
|
const itemDiv = document.createElement("div");
|
|
1222
1167
|
ui.domel(itemDiv)
|
|
1223
1168
|
.addClass(`${this.cssPrefix}-itemDiv`)
|
|
1224
|
-
.addClass(
|
|
1169
|
+
.addClass(getMobileCssClass());
|
|
1225
1170
|
itemDiv.style.marginLeft = `${level * 10}px`;
|
|
1226
1171
|
if (item.selected && !multiselect) {
|
|
1227
1172
|
itemDiv.classList.add(`${this.cssPrefix}-selected`);
|
|
@@ -1356,7 +1301,7 @@ class MenuLevel {
|
|
|
1356
1301
|
return content;
|
|
1357
1302
|
}
|
|
1358
1303
|
renderItems(filter) {
|
|
1359
|
-
if (!filter && !
|
|
1304
|
+
if (!filter && !ui.browserUtils.isMobileMode()) {
|
|
1360
1305
|
this.renderItemsWithoutFilter();
|
|
1361
1306
|
}
|
|
1362
1307
|
else {
|
|
@@ -1566,7 +1511,7 @@ class MenuLevel {
|
|
|
1566
1511
|
this.parentElement.appendChild(this.levelDiv);
|
|
1567
1512
|
ui.domel(this.levelDiv)
|
|
1568
1513
|
.addClass(`${this.cssPrefix}-levelDiv`)
|
|
1569
|
-
.addClass(
|
|
1514
|
+
.addClass(getMobileCssClass());
|
|
1570
1515
|
this.initialized = true;
|
|
1571
1516
|
}
|
|
1572
1517
|
}
|
|
@@ -1813,7 +1758,7 @@ class PopupMenu {
|
|
|
1813
1758
|
}
|
|
1814
1759
|
this.active = true;
|
|
1815
1760
|
this.setSelectedItems(this.options.items, selectedIds);
|
|
1816
|
-
if (
|
|
1761
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
1817
1762
|
this.rootLevel.showAt(0, 0, true, true);
|
|
1818
1763
|
this.rootLevel.levelDiv.style.top = '0px';
|
|
1819
1764
|
this.rootLevel.levelDiv.style.bottom = '0px';
|
|
@@ -2009,7 +1954,7 @@ class ColumnRendererCP {
|
|
|
2009
1954
|
.replaceChild(builder.toDOM(), this.element);
|
|
2010
1955
|
}
|
|
2011
1956
|
this.element = builder.toDOM();
|
|
2012
|
-
if (this.panel.options.allowDragDrop && !
|
|
1957
|
+
if (this.panel.options.allowDragDrop && !ui.browserUtils.isMobileMode()) {
|
|
2013
1958
|
ui.eqDragManager.registerDraggableItem({
|
|
2014
1959
|
element: this.element,
|
|
2015
1960
|
scope: "entityAttrSort",
|
|
@@ -2042,7 +1987,7 @@ class ColumnRendererCP {
|
|
|
2042
1987
|
this.createButtonMenu();
|
|
2043
1988
|
builder
|
|
2044
1989
|
.addClass(this.getClassesToAdd())
|
|
2045
|
-
.addClass(
|
|
1990
|
+
.addClass(getMobileCssClass())
|
|
2046
1991
|
.addChildElement(this.renderCheckbox())
|
|
2047
1992
|
//start sort button
|
|
2048
1993
|
.addChild('div', builder => builder
|
|
@@ -2050,7 +1995,7 @@ class ColumnRendererCP {
|
|
|
2050
1995
|
.addChildElement(this.sortingButton))
|
|
2051
1996
|
// end sort button
|
|
2052
1997
|
.addChildElement(this.renderExpressionBlock());
|
|
2053
|
-
if (this.panel.options.showColumnTitles !== false && !
|
|
1998
|
+
if (this.panel.options.showColumnTitles !== false && !ui.browserUtils.isMobileMode()) {
|
|
2054
1999
|
builder
|
|
2055
2000
|
.addChildElement(this.renderCaptionBlock());
|
|
2056
2001
|
}
|
|
@@ -2059,7 +2004,7 @@ class ColumnRendererCP {
|
|
|
2059
2004
|
.addChild('div', builder => {
|
|
2060
2005
|
builder
|
|
2061
2006
|
.addClass(`${eqCssPrefix}-column-buttonsBlock`, `${this.cssPrefix}-buttonsBlock`)
|
|
2062
|
-
.addClass(
|
|
2007
|
+
.addClass(getMobileCssClass());
|
|
2063
2008
|
//start enable button
|
|
2064
2009
|
if (this.getButtonsToShow().indexOf("enable") >= 0 && !this.column.isReadOnly()) {
|
|
2065
2010
|
builder.addChildElement(this.renderEnabledButton());
|
|
@@ -2086,28 +2031,31 @@ class ColumnRendererCP {
|
|
|
2086
2031
|
}
|
|
2087
2032
|
//end menu button
|
|
2088
2033
|
});
|
|
2089
|
-
//end buttons
|
|
2090
|
-
if (!
|
|
2034
|
+
//end buttons
|
|
2035
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
2091
2036
|
//start event listeners
|
|
2092
2037
|
builder
|
|
2093
2038
|
.on('mouseenter', this.onMouseEnter.bind(this))
|
|
2094
2039
|
.on('mouseleave', this.onMouseLeave.bind(this));
|
|
2095
2040
|
//end event listeners
|
|
2096
2041
|
}
|
|
2097
|
-
if (this.panel.options.accentActiveColumn ||
|
|
2042
|
+
if (this.panel.options.accentActiveColumn || ui.browserUtils.isMobileMode()) {
|
|
2098
2043
|
builder
|
|
2099
2044
|
.on('click', this.onMouseClick.bind(this)); //touchstart
|
|
2100
2045
|
}
|
|
2101
2046
|
if (this.panel.options.alwaysShowButtons) {
|
|
2102
2047
|
this.showButtons();
|
|
2103
2048
|
}
|
|
2049
|
+
if (this.panel.options.showCheckboxes === false) {
|
|
2050
|
+
builder.addClass("eqjs-no-checkbox");
|
|
2051
|
+
}
|
|
2104
2052
|
return this.element;
|
|
2105
2053
|
}
|
|
2106
2054
|
onMouseClick(ev) {
|
|
2107
2055
|
ev.stopPropagation();
|
|
2108
2056
|
this.panel.toggleColumnPicked(this.column);
|
|
2109
2057
|
this.adjustButtonsVisibility();
|
|
2110
|
-
if (!
|
|
2058
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
2111
2059
|
this.element.dispatchEvent(ui.createBrowserEvent("mouseenter"));
|
|
2112
2060
|
}
|
|
2113
2061
|
return false;
|
|
@@ -2121,7 +2069,7 @@ class ColumnRendererCP {
|
|
|
2121
2069
|
renderCaptionBlock() {
|
|
2122
2070
|
const builder = ui.domel('div')
|
|
2123
2071
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
2124
|
-
.addClass(
|
|
2072
|
+
.addClass(getMobileCssClass());
|
|
2125
2073
|
if (this.isEditable()) {
|
|
2126
2074
|
builder
|
|
2127
2075
|
.addChild('a', builder => builder
|
|
@@ -2311,7 +2259,7 @@ class ColumnRendererCP {
|
|
|
2311
2259
|
.addClass(`${eqCssPrefix}-button`, `${eqCssPrefix}-column-button`, `${eqCssPrefix}-column-button-menu`)
|
|
2312
2260
|
.title(core.i18n.getText('ButtonMenu'))
|
|
2313
2261
|
.attr('tabIndex', '0')
|
|
2314
|
-
.on('click', evt => this.buttonMenuHandler(exports.ColumnAction.Menu, evt)) //touchstart
|
|
2262
|
+
.on('click', evt => this.buttonMenuHandler(exports.ColumnAction.Menu, evt)) //touchstart
|
|
2315
2263
|
.on('keypress', evt => { if (evt.keyCode == 13) {
|
|
2316
2264
|
evt.target.click();
|
|
2317
2265
|
} }))
|
|
@@ -2444,7 +2392,7 @@ class ColumnRendererCP {
|
|
|
2444
2392
|
}
|
|
2445
2393
|
adjustButtonsVisibility() {
|
|
2446
2394
|
if (this.panel.options.alwaysShowButtons ||
|
|
2447
|
-
((this.panel.options.accentActiveColumn ||
|
|
2395
|
+
((this.panel.options.accentActiveColumn || ui.browserUtils.isMobileMode())
|
|
2448
2396
|
&& this.isColumnActive())) {
|
|
2449
2397
|
this.showButtons();
|
|
2450
2398
|
}
|
|
@@ -2741,10 +2689,10 @@ class AttrColumnRendererCP extends ColumnRendererCP {
|
|
|
2741
2689
|
renderExpressionBlock() {
|
|
2742
2690
|
return ui.domel("div")
|
|
2743
2691
|
.addClass(`${this.cssPrefix}-expr-block`)
|
|
2744
|
-
.addClass(
|
|
2692
|
+
.addClass(getMobileCssClass())
|
|
2745
2693
|
.addChild('div', builder => builder
|
|
2746
2694
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
2747
|
-
.addClass(
|
|
2695
|
+
.addClass(getMobileCssClass())
|
|
2748
2696
|
.addChildElement(this.renderBaseExpression()))
|
|
2749
2697
|
.toDOM();
|
|
2750
2698
|
}
|
|
@@ -2914,7 +2862,7 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2914
2862
|
const model = this.panel.getContext().getModel();
|
|
2915
2863
|
const exprBlockBuilder = ui.domel("div")
|
|
2916
2864
|
.addClass(`${this.cssPrefix}-expr-block`, `${this.cssPrefix}-expr-block-aggr`)
|
|
2917
|
-
.addClass(
|
|
2865
|
+
.addClass(getMobileCssClass());
|
|
2918
2866
|
const format = model.getAggrFunctionFormat(this.column.expr.func);
|
|
2919
2867
|
if (!format || format === '')
|
|
2920
2868
|
return;
|
|
@@ -2950,14 +2898,14 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2950
2898
|
exprBlockBuilder
|
|
2951
2899
|
.addChild('div', builder => builder
|
|
2952
2900
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-aggrfuncelement`)
|
|
2953
|
-
.addClass(
|
|
2901
|
+
.addClass(getMobileCssClass())
|
|
2954
2902
|
.addChildElement(functionLink.toDOM()));
|
|
2955
2903
|
}
|
|
2956
2904
|
else {
|
|
2957
2905
|
exprBlockBuilder
|
|
2958
2906
|
.addChild('div', b => b
|
|
2959
2907
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-aggrfuncelement`)
|
|
2960
|
-
.addClass(
|
|
2908
|
+
.addClass(getMobileCssClass())
|
|
2961
2909
|
.addChild('span', b => b
|
|
2962
2910
|
.text(item.text)
|
|
2963
2911
|
.title(item.text)));
|
|
@@ -2967,14 +2915,14 @@ class AggrFuncColumnRendererCP extends AttrColumnRendererCP {
|
|
|
2967
2915
|
exprBlockBuilder
|
|
2968
2916
|
.addChild('div', builder => builder
|
|
2969
2917
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
2970
|
-
.addClass(
|
|
2918
|
+
.addClass(getMobileCssClass())
|
|
2971
2919
|
.addChildElement(this.renderBaseExpression()));
|
|
2972
2920
|
}
|
|
2973
2921
|
else if (item.type === 3) {
|
|
2974
2922
|
exprBlockBuilder
|
|
2975
2923
|
.addChild('span', builder => builder
|
|
2976
2924
|
.addClass(`${this.cssPrefix}-colelement`)
|
|
2977
|
-
.addClass(
|
|
2925
|
+
.addClass(getMobileCssClass())
|
|
2978
2926
|
.text(item.text)
|
|
2979
2927
|
.title(item.text));
|
|
2980
2928
|
}
|
|
@@ -3056,12 +3004,12 @@ class EditableColumnRendererCP extends AttrColumnRendererCP {
|
|
|
3056
3004
|
renderExpressionBlock() {
|
|
3057
3005
|
const exprBlock = ui.domel("div")
|
|
3058
3006
|
.addClass(`${this.cssPrefix}-expr-block`)
|
|
3059
|
-
.addClass(
|
|
3007
|
+
.addClass(getMobileCssClass())
|
|
3060
3008
|
.toDOM();
|
|
3061
3009
|
//Attribute element
|
|
3062
3010
|
let builder = ui.domel('div', exprBlock)
|
|
3063
3011
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
3064
|
-
.addClass(
|
|
3012
|
+
.addClass(getMobileCssClass());
|
|
3065
3013
|
if (this.isEditable()) {
|
|
3066
3014
|
builder
|
|
3067
3015
|
.addChild('a', b => b
|
|
@@ -3137,7 +3085,7 @@ class EditableColumnRendererCP extends AttrColumnRendererCP {
|
|
|
3137
3085
|
// DataType element
|
|
3138
3086
|
builder = ui.domel('div', exprBlock)
|
|
3139
3087
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-attrelement`)
|
|
3140
|
-
.addClass(
|
|
3088
|
+
.addClass(getMobileCssClass());
|
|
3141
3089
|
if (this.isEditable()) {
|
|
3142
3090
|
this.createDataTypeMenu();
|
|
3143
3091
|
builder
|
|
@@ -3387,8 +3335,18 @@ class ColumnsPanel extends core.Widget {
|
|
|
3387
3335
|
const headerBuilder = ui.domel('div', this.slot)
|
|
3388
3336
|
.hide()
|
|
3389
3337
|
.addClass(`${this.cssPrefix}-header`)
|
|
3390
|
-
.addClass(
|
|
3391
|
-
|
|
3338
|
+
.addClass(getMobileCssClass());
|
|
3339
|
+
if (!this.options.alwaysShowButtons) {
|
|
3340
|
+
headerBuilder.addClass("eqjs-no-buttons");
|
|
3341
|
+
}
|
|
3342
|
+
if (this.options.showCheckboxes) {
|
|
3343
|
+
headerBuilder.addChild('div', builder => builder
|
|
3344
|
+
.setStyle('margin-left', '30px')); //quick fix to adjust title column header when showCheckboxes is on
|
|
3345
|
+
}
|
|
3346
|
+
else {
|
|
3347
|
+
headerBuilder.addClass("eqjs-no-checkbox");
|
|
3348
|
+
}
|
|
3349
|
+
headerBuilder.addChild('div', builder => builder
|
|
3392
3350
|
.addClass(`${this.cssPrefix}-header-expression`)
|
|
3393
3351
|
.text(core$1.i18n.getText('HeaderExpression')));
|
|
3394
3352
|
if (this.options.showColumnTitles !== false) {
|
|
@@ -3403,13 +3361,13 @@ class ColumnsPanel extends core.Widget {
|
|
|
3403
3361
|
this.columnsBlock =
|
|
3404
3362
|
ui.domel('div', this.slot)
|
|
3405
3363
|
.addClass(`${this.cssPrefix}-columns`)
|
|
3406
|
-
.addClass(
|
|
3364
|
+
.addClass(getMobileCssClass())
|
|
3407
3365
|
.toDOM();
|
|
3408
3366
|
if (this.options.showAddRow) {
|
|
3409
3367
|
this.addRowElement =
|
|
3410
3368
|
ui.domel('div', this.slot)
|
|
3411
3369
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
3412
|
-
.addClass(
|
|
3370
|
+
.addClass(getMobileCssClass())
|
|
3413
3371
|
.addChild('a', builder => builder
|
|
3414
3372
|
.attr('href', 'javascript:void(0)')
|
|
3415
3373
|
.text(core$1.i18n.getText('CmdClickToAddColumn'))
|
|
@@ -3599,7 +3557,7 @@ class ColumnsPanel extends core.Widget {
|
|
|
3599
3557
|
if (options.titleElementFormat) {
|
|
3600
3558
|
this.context.options.columnTitleFormat = options.titleElementFormat;
|
|
3601
3559
|
}
|
|
3602
|
-
if (
|
|
3560
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
3603
3561
|
this.options.buttons = ["menu"];
|
|
3604
3562
|
this.options.showHeader = false;
|
|
3605
3563
|
}
|
|
@@ -3631,7 +3589,7 @@ class ColumnsPanel extends core.Widget {
|
|
|
3631
3589
|
this.agjustHeaderVisibility();
|
|
3632
3590
|
ui.domel(this.slot)
|
|
3633
3591
|
.removeClass(eqCssMobile)
|
|
3634
|
-
.addClass(
|
|
3592
|
+
.addClass(getMobileCssClass());
|
|
3635
3593
|
const query = this.context.getQuery();
|
|
3636
3594
|
const columns = query.getColumns();
|
|
3637
3595
|
for (let column of columns) {
|
|
@@ -3949,7 +3907,7 @@ class ColumnsPanel extends core.Widget {
|
|
|
3949
3907
|
renderProgressBlock() {
|
|
3950
3908
|
this.progressBlock = document.createElement('div');
|
|
3951
3909
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
3952
|
-
this.progressBlock.classList.add(
|
|
3910
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
3953
3911
|
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>';
|
|
3954
3912
|
}
|
|
3955
3913
|
}
|
|
@@ -3999,10 +3957,10 @@ class ColumnRendererCB {
|
|
|
3999
3957
|
}
|
|
4000
3958
|
builder
|
|
4001
3959
|
.addClass(this.getClassesToAdd())
|
|
4002
|
-
.addClass(
|
|
3960
|
+
.addClass(getMobileCssClass())
|
|
4003
3961
|
.addChildElement(this.renderCaptionBlock())
|
|
4004
3962
|
.addChildElement(this.renderSortingImage());
|
|
4005
|
-
if (!
|
|
3963
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
4006
3964
|
builder
|
|
4007
3965
|
.addChildElement(this.renderButtonsBlock());
|
|
4008
3966
|
}
|
|
@@ -4011,7 +3969,7 @@ class ColumnRendererCB {
|
|
|
4011
3969
|
.on('mouseenter', this.onMouseEnter.bind(this))
|
|
4012
3970
|
.on('mouseleave', this.onMouseLeave.bind(this));
|
|
4013
3971
|
//end event listeners
|
|
4014
|
-
if (this.bar.options.accentActiveColumn ||
|
|
3972
|
+
if (this.bar.options.accentActiveColumn || ui.browserUtils.isMobileMode()) {
|
|
4015
3973
|
builder
|
|
4016
3974
|
.on('touchstart click', this.onMouseClick.bind(this));
|
|
4017
3975
|
}
|
|
@@ -4040,7 +3998,7 @@ class ColumnRendererCB {
|
|
|
4040
3998
|
if (!this.isEditable()) {
|
|
4041
3999
|
return ui.domel('div')
|
|
4042
4000
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
4043
|
-
.addClass(
|
|
4001
|
+
.addClass(getMobileCssClass())
|
|
4044
4002
|
.addChild('div', b => b
|
|
4045
4003
|
.title(caption)
|
|
4046
4004
|
.text(caption)
|
|
@@ -4074,7 +4032,7 @@ class ColumnRendererCB {
|
|
|
4074
4032
|
}); //TO DO:add localization and input field);
|
|
4075
4033
|
return ui.domel('div')
|
|
4076
4034
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
4077
|
-
.addClass(
|
|
4035
|
+
.addClass(getMobileCssClass())
|
|
4078
4036
|
.addChild('a', builder => builder
|
|
4079
4037
|
.attr('href', 'javascript:void(0)')
|
|
4080
4038
|
.title(this.column.caption)
|
|
@@ -4150,7 +4108,7 @@ class ColumnRendererCB {
|
|
|
4150
4108
|
else {
|
|
4151
4109
|
return ui.domel('div')
|
|
4152
4110
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-sortimage-placeholder`)
|
|
4153
|
-
.addClass(
|
|
4111
|
+
.addClass(getMobileCssClass())
|
|
4154
4112
|
.addChild('div', builder => builder
|
|
4155
4113
|
.addClass(`${this.cssPrefix}-img-sorting`, sortButtonDirectionCssClass)
|
|
4156
4114
|
.title(core$1.i18n.getText('ButtonSorting')))
|
|
@@ -4327,7 +4285,7 @@ class ColumnRendererCB {
|
|
|
4327
4285
|
this.adjustButtonsVisibility();
|
|
4328
4286
|
}
|
|
4329
4287
|
onMouseEnter(e) {
|
|
4330
|
-
if (
|
|
4288
|
+
if (ui.browserUtils.isMobileMode())
|
|
4331
4289
|
return;
|
|
4332
4290
|
this.isMouseOverBlock = true;
|
|
4333
4291
|
this.enterButtonBlock();
|
|
@@ -4335,7 +4293,7 @@ class ColumnRendererCB {
|
|
|
4335
4293
|
return false;
|
|
4336
4294
|
}
|
|
4337
4295
|
onMouseLeave(e) {
|
|
4338
|
-
if (
|
|
4296
|
+
if (ui.browserUtils.isMobileMode())
|
|
4339
4297
|
return;
|
|
4340
4298
|
this.isMouseOverBlock = false;
|
|
4341
4299
|
this.leaveButtonBlock();
|
|
@@ -4346,7 +4304,7 @@ class ColumnRendererCB {
|
|
|
4346
4304
|
return this.element.classList.contains("active");
|
|
4347
4305
|
}
|
|
4348
4306
|
hideButtons() {
|
|
4349
|
-
if (
|
|
4307
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
4350
4308
|
if (this.onHideButtonsMobile) {
|
|
4351
4309
|
this.onHideButtonsMobile();
|
|
4352
4310
|
}
|
|
@@ -4356,7 +4314,7 @@ class ColumnRendererCB {
|
|
|
4356
4314
|
}
|
|
4357
4315
|
}
|
|
4358
4316
|
showButtons() {
|
|
4359
|
-
if (
|
|
4317
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
4360
4318
|
if (this.onShowButtonsMobile) {
|
|
4361
4319
|
this.onShowButtonsMobile();
|
|
4362
4320
|
}
|
|
@@ -4367,7 +4325,7 @@ class ColumnRendererCB {
|
|
|
4367
4325
|
}
|
|
4368
4326
|
adjustButtonsVisibility() {
|
|
4369
4327
|
if (this.bar.options.alwaysShowButtons
|
|
4370
|
-
|| ((this.bar.options.accentActiveColumn ||
|
|
4328
|
+
|| ((this.bar.options.accentActiveColumn || ui.browserUtils.isMobileMode())
|
|
4371
4329
|
&& this.isColumnActive())) {
|
|
4372
4330
|
this.showButtons();
|
|
4373
4331
|
}
|
|
@@ -4642,6 +4600,7 @@ class ColumnsBar extends core.Widget {
|
|
|
4642
4600
|
sortEntities: false,
|
|
4643
4601
|
columnRenderedCallback: null,
|
|
4644
4602
|
customExpressionText: 0,
|
|
4603
|
+
showAddAllForEntity: false
|
|
4645
4604
|
};
|
|
4646
4605
|
this.landingSlot = ui.domel('div')
|
|
4647
4606
|
.addClass(`${eqCssPrefix}-highlight`)
|
|
@@ -4661,7 +4620,7 @@ class ColumnsBar extends core.Widget {
|
|
|
4661
4620
|
];
|
|
4662
4621
|
ui.domel(this.slot)
|
|
4663
4622
|
.addClass(`${this.cssPrefix}-panel`)
|
|
4664
|
-
.addClass(
|
|
4623
|
+
.addClass(getMobileCssClass());
|
|
4665
4624
|
this.group = core.WidgetGroup.Query;
|
|
4666
4625
|
this.customQuery = customQuery;
|
|
4667
4626
|
}
|
|
@@ -4880,7 +4839,7 @@ class ColumnsBar extends core.Widget {
|
|
|
4880
4839
|
renderAddRowButton() {
|
|
4881
4840
|
ui.domel(this.addRowButton)
|
|
4882
4841
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
4883
|
-
.addClass(
|
|
4842
|
+
.addClass(getMobileCssClass())
|
|
4884
4843
|
.title(core$1.i18n.getText('CmdClickToAddColumn'))
|
|
4885
4844
|
.addChild('a', builder => builder
|
|
4886
4845
|
.attr('href', 'javascript:void(0)')
|
|
@@ -4890,13 +4849,18 @@ class ColumnsBar extends core.Widget {
|
|
|
4890
4849
|
anchor: e.target,
|
|
4891
4850
|
selectedIds: null,
|
|
4892
4851
|
itemSelectedCallback: (data, items) => {
|
|
4893
|
-
|
|
4894
|
-
|
|
4852
|
+
if (data.id === '__AddAll__' && data.extra && Array.isArray(data.extra.ids)) {
|
|
4853
|
+
data.extra.ids.forEach(attrId => this.addNewColumn(attrId));
|
|
4854
|
+
}
|
|
4855
|
+
else {
|
|
4856
|
+
const attrid = data.id;
|
|
4857
|
+
this.addNewColumn(attrid);
|
|
4858
|
+
}
|
|
4895
4859
|
return false;
|
|
4896
4860
|
}
|
|
4897
4861
|
});
|
|
4898
4862
|
}));
|
|
4899
|
-
if (
|
|
4863
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
4900
4864
|
ui.domel(this.columnsBlock)
|
|
4901
4865
|
.addChildElement(this.addRowButton);
|
|
4902
4866
|
}
|
|
@@ -4910,13 +4874,13 @@ class ColumnsBar extends core.Widget {
|
|
|
4910
4874
|
this.columnsBlock =
|
|
4911
4875
|
ui.domel('div')
|
|
4912
4876
|
.addClass(`${this.cssPrefix}-columns`)
|
|
4913
|
-
.addClass(
|
|
4877
|
+
.addClass(getMobileCssClass())
|
|
4914
4878
|
.toDOM();
|
|
4915
4879
|
if (this.options.showAddRow) {
|
|
4916
4880
|
this.addRowButton =
|
|
4917
4881
|
ui.domel('div')
|
|
4918
4882
|
.toDOM();
|
|
4919
|
-
if (
|
|
4883
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
4920
4884
|
ui.domel(this.columnsBlock)
|
|
4921
4885
|
.addChildElement(this.addRowButton);
|
|
4922
4886
|
}
|
|
@@ -4940,7 +4904,7 @@ class ColumnsBar extends core.Widget {
|
|
|
4940
4904
|
this.columnButtonsBlockMobileArrow = ui.domel('i').toDOM();
|
|
4941
4905
|
this.columnButtonsBlockMobile = ui.domel('div')
|
|
4942
4906
|
.addClass(`${this.cssPrefix}-column-buttonsBlock`)
|
|
4943
|
-
.addClass(
|
|
4907
|
+
.addClass(getMobileCssClass())
|
|
4944
4908
|
.addChildElement(this.columnButtonsBlockMobileArrow)
|
|
4945
4909
|
.hide()
|
|
4946
4910
|
.toDOM();
|
|
@@ -5160,6 +5124,23 @@ class ColumnsBar extends core.Widget {
|
|
|
5160
5124
|
showEntitiesMenu(menuOptions) {
|
|
5161
5125
|
this.entitiesMenu && this.entitiesMenu.showMenu(menuOptions);
|
|
5162
5126
|
}
|
|
5127
|
+
addAllColumnsToEntitiesList(list) {
|
|
5128
|
+
const attrIds = list.filter(item => !item.isEntity).map(item => item.id);
|
|
5129
|
+
if (attrIds.length > 0) {
|
|
5130
|
+
list.unshift({
|
|
5131
|
+
id: '__AddAll__',
|
|
5132
|
+
text: core$1.i18n.getText('AddAllForEntityText'),
|
|
5133
|
+
extra: {
|
|
5134
|
+
ids: attrIds
|
|
5135
|
+
}
|
|
5136
|
+
});
|
|
5137
|
+
}
|
|
5138
|
+
list.forEach(item => {
|
|
5139
|
+
if (item.items) {
|
|
5140
|
+
this.addAllColumnsToEntitiesList(item.items);
|
|
5141
|
+
}
|
|
5142
|
+
});
|
|
5143
|
+
}
|
|
5163
5144
|
createEntitiesMenu() {
|
|
5164
5145
|
const model = this.getContext().getModel();
|
|
5165
5146
|
if (!model || model.isEmpty())
|
|
@@ -5169,6 +5150,10 @@ class ColumnsBar extends core.Widget {
|
|
|
5169
5150
|
menuId += '-EntitiesMenu';
|
|
5170
5151
|
}
|
|
5171
5152
|
const entitiesList = model.getEntitiesTree({ addUIC: false, addUIR: true, addUIS: false, attrPlacement: this.options.attrPlacement, sortEntities: this.options.sortEntities });
|
|
5153
|
+
// add [Add all columns] items
|
|
5154
|
+
if (this.options.showAddAllForEntity) {
|
|
5155
|
+
this.addAllColumnsToEntitiesList(entitiesList);
|
|
5156
|
+
}
|
|
5172
5157
|
const options = { items: entitiesList, adjustHeight: this.options.adjustEntitiesMenuHeight, id: menuId, domWriteItemsId: this.options.domWriteItemsId };
|
|
5173
5158
|
core$1.utils.assign(options, this.options.menuOptions);
|
|
5174
5159
|
this.entitiesMenu = new PopupMenu(options);
|
|
@@ -5297,7 +5282,7 @@ class ColumnRendererSB {
|
|
|
5297
5282
|
}
|
|
5298
5283
|
builder
|
|
5299
5284
|
.addClass(this.getClassesToAdd())
|
|
5300
|
-
.addClass(
|
|
5285
|
+
.addClass(getMobileCssClass())
|
|
5301
5286
|
.addChildElement(this.renderCaptionBlock());
|
|
5302
5287
|
if (this.isEditable()) {
|
|
5303
5288
|
builder
|
|
@@ -5335,7 +5320,7 @@ class ColumnRendererSB {
|
|
|
5335
5320
|
}
|
|
5336
5321
|
return ui.domel('div')
|
|
5337
5322
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-captionelement`)
|
|
5338
|
-
.addClass(
|
|
5323
|
+
.addClass(getMobileCssClass())
|
|
5339
5324
|
.addChild('div', b => b
|
|
5340
5325
|
.title(this.column.caption)
|
|
5341
5326
|
.text(text))
|
|
@@ -5357,7 +5342,7 @@ class ColumnRendererSB {
|
|
|
5357
5342
|
}
|
|
5358
5343
|
const builder = ui.domel('div')
|
|
5359
5344
|
.addClass(`${this.cssPrefix}-colelement`, `${this.cssPrefix}-sortimage-placeholder`)
|
|
5360
|
-
.addClass(
|
|
5345
|
+
.addClass(getMobileCssClass())
|
|
5361
5346
|
.addChild('div', builder => builder
|
|
5362
5347
|
.addClass(`${this.cssPrefix}-img-sorting`, sortButtonDirectionCssClass)
|
|
5363
5348
|
.title(core$1.i18n.getText('ButtonSorting')))
|
|
@@ -5448,7 +5433,7 @@ class SortingBar extends core.Widget {
|
|
|
5448
5433
|
this.landingIndex = -1;
|
|
5449
5434
|
ui.domel(this.slot)
|
|
5450
5435
|
.addClass(`${this.cssPrefix}-panel`)
|
|
5451
|
-
.addClass(
|
|
5436
|
+
.addClass(getMobileCssClass());
|
|
5452
5437
|
this.group = core.WidgetGroup.Query;
|
|
5453
5438
|
}
|
|
5454
5439
|
getWidgetType() {
|
|
@@ -5531,7 +5516,7 @@ class SortingBar extends core.Widget {
|
|
|
5531
5516
|
renderAddRowButton() {
|
|
5532
5517
|
ui.domel(this.addRowButton)
|
|
5533
5518
|
.addClass(`${eqCssPrefix}-addrow`, `${this.cssPrefix}-addrow`, `${eqCssPrefix}-addrow-empty`)
|
|
5534
|
-
.addClass(
|
|
5519
|
+
.addClass(getMobileCssClass())
|
|
5535
5520
|
.title(core$1.i18n.getText('CmdClickToAddColumn'))
|
|
5536
5521
|
.addChild('a', builder => builder
|
|
5537
5522
|
.attr('href', 'javascript:void(0)')
|
|
@@ -5547,7 +5532,7 @@ class SortingBar extends core.Widget {
|
|
|
5547
5532
|
}
|
|
5548
5533
|
});
|
|
5549
5534
|
}));
|
|
5550
|
-
if (
|
|
5535
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
5551
5536
|
ui.domel(this.columnsBlock)
|
|
5552
5537
|
.addChildElement(this.addRowButton);
|
|
5553
5538
|
}
|
|
@@ -5587,13 +5572,13 @@ class SortingBar extends core.Widget {
|
|
|
5587
5572
|
this.columnsBlock =
|
|
5588
5573
|
ui.domel('div')
|
|
5589
5574
|
.addClass(`${this.cssPrefix}-columns`)
|
|
5590
|
-
.addClass(
|
|
5575
|
+
.addClass(getMobileCssClass())
|
|
5591
5576
|
.toDOM();
|
|
5592
5577
|
if (this.options.showAddRow) {
|
|
5593
5578
|
this.addRowButton =
|
|
5594
5579
|
ui.domel('div')
|
|
5595
5580
|
.toDOM();
|
|
5596
|
-
if (
|
|
5581
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
5597
5582
|
ui.domel(this.columnsBlock)
|
|
5598
5583
|
.addChildElement(this.addRowButton);
|
|
5599
5584
|
}
|
|
@@ -5768,7 +5753,7 @@ class TextRenderer {
|
|
|
5768
5753
|
ui.domel(this.element)
|
|
5769
5754
|
.html('')
|
|
5770
5755
|
.addClass(this.getClassesToAdd())
|
|
5771
|
-
.addClass(
|
|
5756
|
+
.addClass(getMobileCssClass())
|
|
5772
5757
|
.addChild('span', builder => builder
|
|
5773
5758
|
.text(this.text)
|
|
5774
5759
|
.title(this.text))
|
|
@@ -5829,7 +5814,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
5829
5814
|
let result = `${this.cssPrefix}-row ${this.cssPrefix}-row-condition`;
|
|
5830
5815
|
result += this.condition.isInJoin() ? ` ${this.cssPrefix}-condition-injoin` : '';
|
|
5831
5816
|
result += this.condition.isParameterized() ? ` ${this.cssPrefix}-condition-parameterized` : '';
|
|
5832
|
-
if (!
|
|
5817
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
5833
5818
|
const level = this.condition.getLevel();
|
|
5834
5819
|
if (level > 0)
|
|
5835
5820
|
result += ` ${this.cssPrefix}-level-${level}`;
|
|
@@ -5854,7 +5839,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
5854
5839
|
this.element = builder.toDOM();
|
|
5855
5840
|
builder
|
|
5856
5841
|
.addClass(this.getClassesToAdd())
|
|
5857
|
-
.addClass(
|
|
5842
|
+
.addClass(getMobileCssClass())
|
|
5858
5843
|
.data('id', this.condition.id)
|
|
5859
5844
|
.data('condrow', '')
|
|
5860
5845
|
.addChildElement(this.renderCheckbox())
|
|
@@ -5887,12 +5872,12 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
5887
5872
|
builder.addChildElement(new TextRenderer(this.panel, item.text).render());
|
|
5888
5873
|
}
|
|
5889
5874
|
}
|
|
5890
|
-
if (this.panel.options.accentActiveCondition ||
|
|
5875
|
+
if (this.panel.options.accentActiveCondition || ui.browserUtils.isMobileMode()) {
|
|
5891
5876
|
builder.on('click', ev => {
|
|
5892
5877
|
ev.stopPropagation();
|
|
5893
5878
|
this.panel.toggleConditionPicked(this.condition);
|
|
5894
5879
|
this.adjustButtonsVisibility();
|
|
5895
|
-
if (!
|
|
5880
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
5896
5881
|
this.element.dispatchEvent(ui.createBrowserEvent("mouseenter"));
|
|
5897
5882
|
}
|
|
5898
5883
|
return false;
|
|
@@ -5900,7 +5885,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
5900
5885
|
}
|
|
5901
5886
|
builder
|
|
5902
5887
|
.addChildElement(this.renderButtonsBlock());
|
|
5903
|
-
if (!
|
|
5888
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
5904
5889
|
builder
|
|
5905
5890
|
.on('mouseenter', event => {
|
|
5906
5891
|
this.isMouseOverBlock = true;
|
|
@@ -6128,7 +6113,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6128
6113
|
};
|
|
6129
6114
|
const builder = ui.domel("div")
|
|
6130
6115
|
.addClass(`${this.cssPrefix}-condition-buttonsBlock`)
|
|
6131
|
-
.addClass(
|
|
6116
|
+
.addClass(getMobileCssClass());
|
|
6132
6117
|
this.buttonsBlock = builder.toDOM();
|
|
6133
6118
|
if (this.condition.isReadOnly()) {
|
|
6134
6119
|
return this.buttonsBlock;
|
|
@@ -6221,7 +6206,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6221
6206
|
.data("button", "")
|
|
6222
6207
|
.title(core$1.i18n.getText('ButtonMenu'))
|
|
6223
6208
|
.on('click', evt => this.conditionMenuHandler(exports.ConditionAction.Menu, evt));
|
|
6224
|
-
if (!
|
|
6209
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
6225
6210
|
b
|
|
6226
6211
|
.on('keypress', evt => { if (evt.keyCode == 13) {
|
|
6227
6212
|
evt.target.click();
|
|
@@ -6292,7 +6277,7 @@ class ConditionGroupRenderer extends ConditionRenderer {
|
|
|
6292
6277
|
coreRender(autoAppear) {
|
|
6293
6278
|
ui.domel(this.element)
|
|
6294
6279
|
.addClass(this.getClassesToAdd())
|
|
6295
|
-
.addClass(
|
|
6280
|
+
.addClass(getMobileCssClass())
|
|
6296
6281
|
.addChildElement(this.renderGroupRow())
|
|
6297
6282
|
.addChildElement(this.renderConditions(autoAppear))
|
|
6298
6283
|
.data('id', this.condition.id)
|
|
@@ -6310,7 +6295,7 @@ class ConditionGroupRenderer extends ConditionRenderer {
|
|
|
6310
6295
|
const builder = ui.domel('div');
|
|
6311
6296
|
builder
|
|
6312
6297
|
.addClass(`${this.cssPrefix}-conditions`)
|
|
6313
|
-
.addClass(`${
|
|
6298
|
+
.addClass(`${getMobileCssClass()}`)
|
|
6314
6299
|
.data('conditions', '');
|
|
6315
6300
|
if (this.isRoot) {
|
|
6316
6301
|
builder.addClass(`${this.cssPrefix}-conditions-root`);
|
|
@@ -6352,7 +6337,7 @@ class ConditionGroupRowRenderer extends SimpleConditionRenderer {
|
|
|
6352
6337
|
coreRender(autoAppear) {
|
|
6353
6338
|
const builder = ui.domel(this.element)
|
|
6354
6339
|
.addClass(this.getClassesToAdd())
|
|
6355
|
-
.addClass(
|
|
6340
|
+
.addClass(getMobileCssClass())
|
|
6356
6341
|
.data('group-row', '')
|
|
6357
6342
|
.addChildElement(this.renderCheckbox())
|
|
6358
6343
|
.addChildElement(this.renderConjunction());
|
|
@@ -6364,14 +6349,14 @@ class ConditionGroupRowRenderer extends SimpleConditionRenderer {
|
|
|
6364
6349
|
builder.on('click', ev => {
|
|
6365
6350
|
this.panel.toggleConditionPicked(this.condition);
|
|
6366
6351
|
this.adjustButtonsVisibility();
|
|
6367
|
-
if (!
|
|
6352
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
6368
6353
|
builder.toDOM().dispatchEvent(ui.createBrowserEvent("mouseenter"));
|
|
6369
6354
|
}
|
|
6370
6355
|
});
|
|
6371
6356
|
}
|
|
6372
6357
|
builder
|
|
6373
6358
|
.addChildElement(this.renderButtonsBlock());
|
|
6374
|
-
if (!
|
|
6359
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
6375
6360
|
builder
|
|
6376
6361
|
.on('mouseenter', event => {
|
|
6377
6362
|
this.isMouseOverBlock = true;
|
|
@@ -6391,7 +6376,7 @@ class ConditionGroupRowRenderer extends SimpleConditionRenderer {
|
|
|
6391
6376
|
}
|
|
6392
6377
|
getGroupTitle() {
|
|
6393
6378
|
let result;
|
|
6394
|
-
if (this.isRoot && !
|
|
6379
|
+
if (this.isRoot && !ui.browserUtils.isMobileMode()) {
|
|
6395
6380
|
result = core$1.i18n.getText('RootConditionGroupTitle');
|
|
6396
6381
|
if (!result) {
|
|
6397
6382
|
//to support old text key
|
|
@@ -6488,7 +6473,7 @@ class BaseElementRenderer {
|
|
|
6488
6473
|
ui.domel(this.element)
|
|
6489
6474
|
.html('')
|
|
6490
6475
|
.addClass(this.getClassesToAdd())
|
|
6491
|
-
.addClass(
|
|
6476
|
+
.addClass(getMobileCssClass())
|
|
6492
6477
|
.addChildElement(this.labelElement);
|
|
6493
6478
|
if (this.isEditable()) {
|
|
6494
6479
|
this.renderEditor();
|
|
@@ -6652,7 +6637,7 @@ class InputExpressionRenderer extends ExpressionRenderer {
|
|
|
6652
6637
|
}
|
|
6653
6638
|
showEditor() {
|
|
6654
6639
|
const MIN_WIDTH = 200;
|
|
6655
|
-
if (!
|
|
6640
|
+
if (!ui.browserUtils.isMobileMode()) {
|
|
6656
6641
|
let left = this.element.offsetLeft;
|
|
6657
6642
|
let width = this.element.offsetWidth > MIN_WIDTH ? this.element.offsetWidth : MIN_WIDTH;
|
|
6658
6643
|
let maxWidth = this.element.parentElement.clientWidth - left - 55;
|
|
@@ -7040,7 +7025,7 @@ class AttributeExpressionRenderer extends ListExpressionRenderer {
|
|
|
7040
7025
|
return `${this.cssPrefix}-condelement ${this.cssPrefix}-attrelement`;
|
|
7041
7026
|
}
|
|
7042
7027
|
adjustWidth() {
|
|
7043
|
-
if (
|
|
7028
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
7044
7029
|
return;
|
|
7045
7030
|
}
|
|
7046
7031
|
const elWidth = this.element.clientWidth;
|
|
@@ -7246,7 +7231,7 @@ class DateTimeExpressionRenderer extends ExpressionRenderer {
|
|
|
7246
7231
|
dateTime = model.getTimeMacroValue(value);
|
|
7247
7232
|
}
|
|
7248
7233
|
else {
|
|
7249
|
-
dateTime = this.convertFromInternalFormat(value);
|
|
7234
|
+
dateTime = this.convertFromInternalFormat(value, new Date());
|
|
7250
7235
|
}
|
|
7251
7236
|
this.dtp.setDateTime(dateTime);
|
|
7252
7237
|
this.dtp.show(this.element);
|
|
@@ -7276,8 +7261,13 @@ class DateTimeExpressionRenderer extends ExpressionRenderer {
|
|
|
7276
7261
|
return super.isEditable()
|
|
7277
7262
|
&& ((this.panel.options.editableParts & exports.QPEditablePart.Value) === exports.QPEditablePart.Value);
|
|
7278
7263
|
}
|
|
7279
|
-
convertFromInternalFormat(
|
|
7280
|
-
|
|
7264
|
+
convertFromInternalFormat(dateTimeStr, defautValue) {
|
|
7265
|
+
try {
|
|
7266
|
+
return core$1.utils.strToDateTime(dateTimeStr, this.internalDateFormat + ' ' + this.internalTimeFormat);
|
|
7267
|
+
}
|
|
7268
|
+
catch (_a) {
|
|
7269
|
+
return defautValue || new Date();
|
|
7270
|
+
}
|
|
7281
7271
|
}
|
|
7282
7272
|
convertToInternalFormat(dateTime) {
|
|
7283
7273
|
return core$1.i18n.dateTimeToStr(dateTime, this.internalDateFormat + ' ' + this.internalTimeFormat);
|
|
@@ -7791,7 +7781,7 @@ class QueryPanel extends core.Widget {
|
|
|
7791
7781
|
if (typeof this.options.editableParts === "undefined") {
|
|
7792
7782
|
this.options.editableParts = exports.QPEditablePart.All;
|
|
7793
7783
|
}
|
|
7794
|
-
if (
|
|
7784
|
+
if (ui.browserUtils.isMobileMode()) {
|
|
7795
7785
|
this.options.buttons = this.options.buttons || {};
|
|
7796
7786
|
this.options.buttons.condition = ["menu"];
|
|
7797
7787
|
this.options.buttons.group = ["menu"];
|
|
@@ -7809,7 +7799,7 @@ class QueryPanel extends core.Widget {
|
|
|
7809
7799
|
.toDOM();
|
|
7810
7800
|
ui.domel(this.slot)
|
|
7811
7801
|
.removeClass(eqCssMobile)
|
|
7812
|
-
.addClass(
|
|
7802
|
+
.addClass(getMobileCssClass());
|
|
7813
7803
|
const query = this.getQuery();
|
|
7814
7804
|
const root = query.getRootCondition();
|
|
7815
7805
|
const renderer = this.getConditionRenderer(root, this.rootContainer);
|
|
@@ -8128,7 +8118,7 @@ class QueryPanel extends core.Widget {
|
|
|
8128
8118
|
renderProgressBlock() {
|
|
8129
8119
|
this.progressBlock = document.createElement('div');
|
|
8130
8120
|
this.progressBlock.classList.add(`${eqCssPrefix}-progress-win8`);
|
|
8131
|
-
this.progressBlock.classList.add(
|
|
8121
|
+
this.progressBlock.classList.add(getMobileCssClass());
|
|
8132
8122
|
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>';
|
|
8133
8123
|
}
|
|
8134
8124
|
clonePanel(slot, query) {
|
|
@@ -8244,7 +8234,7 @@ class FilterBar extends core.Widget {
|
|
|
8244
8234
|
render() {
|
|
8245
8235
|
ui.domel(this.slot)
|
|
8246
8236
|
.addClass(`${this.cssPrefix}-container`)
|
|
8247
|
-
.addClass(
|
|
8237
|
+
.addClass(getMobileCssClass())
|
|
8248
8238
|
.addChild('div', builder => this.headerElement = builder
|
|
8249
8239
|
.addClass(`${this.cssPrefix}-header`)
|
|
8250
8240
|
.addChild('div', builder => this.headerIconElement = builder
|
|
@@ -8290,14 +8280,14 @@ class FilterBar extends core.Widget {
|
|
|
8290
8280
|
.toDOM())
|
|
8291
8281
|
.addChild('div', builder => this.qpBlock = builder
|
|
8292
8282
|
.addClass(`${this.cssPrefix}-querypanelblock`)
|
|
8293
|
-
.addClass(
|
|
8283
|
+
.addClass(getMobileCssClass())
|
|
8294
8284
|
.hide()
|
|
8295
8285
|
.addChildElement(this.qpElement)
|
|
8296
8286
|
.toDOM());
|
|
8297
8287
|
if (this.options.showApplyButton || this.options.showClearButton) {
|
|
8298
8288
|
this.buttonsBlock = ui.domel('div', this.qpBlock)
|
|
8299
8289
|
.addClass(`${this.cssPrefix}-buttonsblock`)
|
|
8300
|
-
.addClass(
|
|
8290
|
+
.addClass(getMobileCssClass())
|
|
8301
8291
|
.toDOM();
|
|
8302
8292
|
}
|
|
8303
8293
|
if (this.options.showApplyButton) {
|
|
@@ -9082,7 +9072,7 @@ class ResultFacet {
|
|
|
9082
9072
|
let b = ui.domel('div')
|
|
9083
9073
|
.addClass('kfrm-form')
|
|
9084
9074
|
.addChild('div', b => fieldsContainer = b
|
|
9085
|
-
.addClass(`${
|
|
9075
|
+
.addClass(`${ui.browserUtils.isIE()
|
|
9086
9076
|
? 'kfrm-fields-ie col-ie-1-4 label-align-right'
|
|
9087
9077
|
: 'kfrm-fields col-a-1 label-align-right'}`)
|
|
9088
9078
|
.toDOM());
|
|
@@ -9091,7 +9081,7 @@ class ResultFacet {
|
|
|
9091
9081
|
}
|
|
9092
9082
|
renderFormFields(form, fieldsContainer) {
|
|
9093
9083
|
let cont = fieldsContainer;
|
|
9094
|
-
if (
|
|
9084
|
+
if (ui.browserUtils.isIE()) {
|
|
9095
9085
|
cont = ui.domel('div', fieldsContainer)
|
|
9096
9086
|
.addClass('kfrm-field-ie')
|
|
9097
9087
|
.toDOM();
|
|
@@ -9894,7 +9884,7 @@ class ChartFacet extends ResultFacet {
|
|
|
9894
9884
|
}
|
|
9895
9885
|
renderFormFields(form, fieldsContainer) {
|
|
9896
9886
|
super.renderFormFields(form, fieldsContainer);
|
|
9897
|
-
const isIE =
|
|
9887
|
+
const isIE = ui.browserUtils.isIE();
|
|
9898
9888
|
const horizClass = isIE ? 'kfrm-fields-ie is-horizontal' : 'kfrm-fields is-horizontal';
|
|
9899
9889
|
// Chart type
|
|
9900
9890
|
let chartTypeSelector = document.createElement('select');
|
|
@@ -10086,6 +10076,7 @@ class PivotTableFacet extends ResultFacet {
|
|
|
10086
10076
|
this.title = core$1.i18n.getText('Facets', 'Pivot', 'FacetTitle');
|
|
10087
10077
|
this.dialogTitle = core$1.i18n.getText('Facets', 'Pivot', 'DlgTitle');
|
|
10088
10078
|
this.pivotTable = new core$1.EasyDataTable();
|
|
10079
|
+
this.settings = {};
|
|
10089
10080
|
}
|
|
10090
10081
|
init(slot) {
|
|
10091
10082
|
super.init(slot);
|
|
@@ -10218,7 +10209,7 @@ class PivotTableFacet extends ResultFacet {
|
|
|
10218
10209
|
core$1.DataType.Int64, core$1.DataType.Word, core$1.DataType.Byte];
|
|
10219
10210
|
const fieldTypes = [core$1.DataType.String, core$1.DataType.Float, core$1.DataType.Int32,
|
|
10220
10211
|
core$1.DataType.Int64, core$1.DataType.Word, core$1.DataType.Byte, core$1.DataType.Currency];
|
|
10221
|
-
const isIE =
|
|
10212
|
+
const isIE = ui.browserUtils.isIE();
|
|
10222
10213
|
let current = fieldsContainer;
|
|
10223
10214
|
const horizClass = isIE ? 'kfrm-fields-ie is-horizontal' : 'kfrm-fields is-horizontal';
|
|
10224
10215
|
const getCurrent = () => {
|
|
@@ -10366,14 +10357,14 @@ class PivotTableFacet extends ResultFacet {
|
|
|
10366
10357
|
saveToData() {
|
|
10367
10358
|
const data = super.saveToData();
|
|
10368
10359
|
if (this.settings) {
|
|
10369
|
-
core$1.utils.
|
|
10360
|
+
core$1.utils.assign(data, this.settings);
|
|
10370
10361
|
}
|
|
10371
10362
|
return data;
|
|
10372
10363
|
}
|
|
10373
10364
|
loadFromData(data) {
|
|
10374
10365
|
super.loadFromData(data);
|
|
10375
10366
|
if (data) {
|
|
10376
|
-
this.settings = core$1.utils.
|
|
10367
|
+
this.settings = core$1.utils.assign(this.settings, data);
|
|
10377
10368
|
if (this.settings.aggrFunc == 'AVERAGE') {
|
|
10378
10369
|
this.settings.aggrFunc = AggrFunc.Average;
|
|
10379
10370
|
}
|
|
@@ -10962,7 +10953,7 @@ class ResultFacetsPanel extends FacetContainer {
|
|
|
10962
10953
|
this._processBlock = ui.domel('div')
|
|
10963
10954
|
.addClass(`${this.cssPrefix}-spinner`)
|
|
10964
10955
|
.addChild('div', b => b
|
|
10965
|
-
.addClass(`${eqCssPrefix}-progress-win8`,
|
|
10956
|
+
.addClass(`${eqCssPrefix}-progress-win8`, getMobileCssClass())
|
|
10966
10957
|
.addHtml(html))
|
|
10967
10958
|
.toDOM();
|
|
10968
10959
|
}
|
|
@@ -11934,7 +11925,7 @@ class AggregationBar extends core.Widget {
|
|
|
11934
11925
|
}
|
|
11935
11926
|
render() {
|
|
11936
11927
|
this.slot.classList.add(`${this.cssPrefix}-panel`);
|
|
11937
|
-
const mobClass =
|
|
11928
|
+
const mobClass = getMobileCssClass();
|
|
11938
11929
|
if (mobClass) {
|
|
11939
11930
|
this.slot.classList.add(mobClass);
|
|
11940
11931
|
}
|
|
@@ -12067,7 +12058,7 @@ class QueryNameWidget extends core.Widget {
|
|
|
12067
12058
|
}
|
|
12068
12059
|
render() {
|
|
12069
12060
|
this.slot.classList.add(`${this.cssPrefix}`);
|
|
12070
|
-
const mobClass =
|
|
12061
|
+
const mobClass = getMobileCssClass();
|
|
12071
12062
|
if (mobClass) {
|
|
12072
12063
|
this.slot.classList.add(mobClass);
|
|
12073
12064
|
}
|
|
@@ -12175,7 +12166,7 @@ class View {
|
|
|
12175
12166
|
}
|
|
12176
12167
|
initOptions(options) {
|
|
12177
12168
|
options = core$1.utils.assignDeep(this.defaultViewOptions, options);
|
|
12178
|
-
// support old format
|
|
12169
|
+
// support old format
|
|
12179
12170
|
if (!options.widgets.easyGrid) {
|
|
12180
12171
|
options.widgets.easyGrid = options.widgets.resultGrid || {};
|
|
12181
12172
|
}
|
|
@@ -12405,7 +12396,7 @@ class View {
|
|
|
12405
12396
|
this._spinnerDiv = ui.domel('div')
|
|
12406
12397
|
.addClass(`eqjs-result-spinner`)
|
|
12407
12398
|
.addChild('div', b => b
|
|
12408
|
-
.addClass(`${eqCssPrefix}-progress-win8`,
|
|
12399
|
+
.addClass(`${eqCssPrefix}-progress-win8`, getMobileCssClass())
|
|
12409
12400
|
.addHtml(html))
|
|
12410
12401
|
.toDOM();
|
|
12411
12402
|
}
|
|
@@ -12629,6 +12620,9 @@ class View {
|
|
|
12629
12620
|
this.domRoots = [document];
|
|
12630
12621
|
this.resetContext();
|
|
12631
12622
|
}
|
|
12623
|
+
refreshWidgets(groups) {
|
|
12624
|
+
this.context.refreshWidgets(groups);
|
|
12625
|
+
}
|
|
12632
12626
|
}
|
|
12633
12627
|
|
|
12634
12628
|
/**
|
|
@@ -12906,8 +12900,12 @@ class AdvancedSearchView extends View {
|
|
|
12906
12900
|
});
|
|
12907
12901
|
}
|
|
12908
12902
|
clearQueryButtonClick() {
|
|
12909
|
-
this.
|
|
12910
|
-
|
|
12903
|
+
this.showQueryClearDialog((result) => {
|
|
12904
|
+
if (result) {
|
|
12905
|
+
this.context.clearQuery();
|
|
12906
|
+
this.context.refreshWidgets(core.WidgetGroup.Statement);
|
|
12907
|
+
}
|
|
12908
|
+
});
|
|
12911
12909
|
}
|
|
12912
12910
|
createNewQuery(options) {
|
|
12913
12911
|
return this.context.newQuery(options);
|
|
@@ -12937,22 +12935,43 @@ class AdvancedSearchView extends View {
|
|
|
12937
12935
|
saveCurrentQuery(copyQuery = false, callback) {
|
|
12938
12936
|
const query = this.context.getQuery();
|
|
12939
12937
|
if (query.isNewbie || copyQuery) {
|
|
12940
|
-
this.showSaveQueryDialog((
|
|
12941
|
-
if (!
|
|
12938
|
+
this.showSaveQueryDialog((newQueryName) => new Promise(resolve => {
|
|
12939
|
+
if (!newQueryName)
|
|
12942
12940
|
return;
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12941
|
+
this.checkSaveQueryName(newQueryName)
|
|
12942
|
+
.then(() => {
|
|
12943
|
+
query.regenerateId();
|
|
12944
|
+
query.setName(newQueryName);
|
|
12945
|
+
query.fireChangedEvent({
|
|
12946
|
+
part: core.QueryChangePart.Properties,
|
|
12947
|
+
wasModified: true
|
|
12948
|
+
});
|
|
12949
|
+
this.saveQuery(() => { resolve({ success: true }); }, (error) => resolve({ success: false, message: error }));
|
|
12950
|
+
}, (message) => resolve({ success: false, message }));
|
|
12950
12951
|
}));
|
|
12951
12952
|
}
|
|
12952
12953
|
else {
|
|
12953
12954
|
this.saveQuery(callback);
|
|
12954
12955
|
}
|
|
12955
12956
|
}
|
|
12957
|
+
checkSaveQueryName(name) {
|
|
12958
|
+
return new Promise((resolve, reject) => {
|
|
12959
|
+
this.context.loadQueryList({
|
|
12960
|
+
success: (queryList) => {
|
|
12961
|
+
const found = queryList.filter(item => item.name.toLowerCase() == name.toLowerCase());
|
|
12962
|
+
if (found.length == 0) {
|
|
12963
|
+
resolve();
|
|
12964
|
+
}
|
|
12965
|
+
else {
|
|
12966
|
+
reject("Can't save the query. A query with this name already exists.");
|
|
12967
|
+
}
|
|
12968
|
+
},
|
|
12969
|
+
error: (message) => {
|
|
12970
|
+
reject(message);
|
|
12971
|
+
}
|
|
12972
|
+
});
|
|
12973
|
+
});
|
|
12974
|
+
}
|
|
12956
12975
|
checkIfQueryModified(callback) {
|
|
12957
12976
|
if (this.context.getQuery().isModified()
|
|
12958
12977
|
&& !this.viewOptions.disableConfirmationOnQueryChange) {
|
|
@@ -13031,6 +13050,10 @@ class AdvancedSearchView extends View {
|
|
|
13031
13050
|
}
|
|
13032
13051
|
});
|
|
13033
13052
|
}
|
|
13053
|
+
showQueryClearDialog(callback) {
|
|
13054
|
+
const ds = this.getDialogService();
|
|
13055
|
+
ds.openConfirm(core$1.i18n.getText('QueryChangedTitle'), core$1.i18n.getText('QueryClearContent'), callback);
|
|
13056
|
+
}
|
|
13034
13057
|
showQueryChangedDialog(callback) {
|
|
13035
13058
|
const ds = this.getDialogService();
|
|
13036
13059
|
ds.openConfirm(core$1.i18n.getText('QueryChangedTitle'), core$1.i18n.getText('QueryChangedContent'), callback);
|
|
@@ -13124,7 +13147,7 @@ class AdvancedSearchView extends View {
|
|
|
13124
13147
|
});
|
|
13125
13148
|
}
|
|
13126
13149
|
renderSaveToFileDialogBody(name, format = "json") {
|
|
13127
|
-
const isIE =
|
|
13150
|
+
const isIE = ui.browserUtils.isIE();
|
|
13128
13151
|
const fieldsClass = isIE
|
|
13129
13152
|
? 'kfrm-fields-ie col-ie-1-4 label-align-right'
|
|
13130
13153
|
: 'kfrm-fields col-a-1 label-align-right';
|
|
@@ -13419,7 +13442,7 @@ class ReportView extends View {
|
|
|
13419
13442
|
this.saveReportButtonClickHandler = this.saveReportButtonClick.bind(this);
|
|
13420
13443
|
this.removeReportButtonClickHandler = this.removeReportButtonClick.bind(this);
|
|
13421
13444
|
this.reloadReportDataButtonClickHandler = this.reloadReportDataButtonClick.bind(this);
|
|
13422
|
-
|
|
13445
|
+
ui.browserUtils.onMobileModeChanged(_ => {
|
|
13423
13446
|
document.location.reload();
|
|
13424
13447
|
});
|
|
13425
13448
|
}
|
|
@@ -14237,6 +14260,7 @@ function addEasyQueryUITexts() {
|
|
|
14237
14260
|
SaveQueryDefName: '{queryName} copy',
|
|
14238
14261
|
QueryChangedTitle: 'Confirmation',
|
|
14239
14262
|
QueryChangedContent: 'The query was changed. Do you want to save it first?',
|
|
14263
|
+
QueryClearContent: 'The query will cleared. Do you want to continue?',
|
|
14240
14264
|
UpdateQuerySelector: '[click here to load the query]',
|
|
14241
14265
|
FileNameLabel: 'File name: ',
|
|
14242
14266
|
SaveQueryToFileDlgTitle: 'Save query to file',
|