@easyquery/ui 7.4.0-rc04 → 7.4.0-rc05
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/easyquery.ui.cjs.js +108 -10
- package/dist/easyquery.ui.esm.js +109 -11
- package/dist/types/types/qp_editable_part.d.ts +3 -3
- package/dist/types/widgets/columns_bar.d.ts +6 -1
- package/dist/types/widgets/columns_panel.d.ts +6 -1
- package/dist/types/widgets/query_panel.d.ts +15 -1
- package/dist/types/widgets/widget_options.d.ts +31 -1
- package/package.json +2 -2
package/dist/easyquery.ui.cjs.js
CHANGED
|
@@ -615,10 +615,39 @@ class EntitiesPanel extends core.Widget {
|
|
|
615
615
|
|
|
616
616
|
exports.ColumnsEditMode = void 0;
|
|
617
617
|
(function (ColumnsEditMode) {
|
|
618
|
+
/**
|
|
619
|
+
* ReadOnly edit mode allows to view columns but doesn't allow to change them.
|
|
620
|
+
*/
|
|
618
621
|
ColumnsEditMode[ColumnsEditMode["ReadOnly"] = 0] = "ReadOnly";
|
|
622
|
+
/**
|
|
623
|
+
* FixedList edit mode allows to edit some columns parameters (formats, sorting) and change their order
|
|
624
|
+
* but doesn't allow to add or delete columns.
|
|
625
|
+
*/
|
|
619
626
|
ColumnsEditMode[ColumnsEditMode["FixedList"] = 16] = "FixedList";
|
|
627
|
+
/**
|
|
628
|
+
* Full edit mode allows to add, delete and change columns in any way.
|
|
629
|
+
*/
|
|
620
630
|
ColumnsEditMode[ColumnsEditMode["Full"] = 255] = "Full";
|
|
621
631
|
})(exports.ColumnsEditMode || (exports.ColumnsEditMode = {}));
|
|
632
|
+
exports.ConditionsEditMode = void 0;
|
|
633
|
+
(function (ConditionsEditMode) {
|
|
634
|
+
/**
|
|
635
|
+
* No edit mode means that conditions are not editable at all.
|
|
636
|
+
*/
|
|
637
|
+
ConditionsEditMode[ConditionsEditMode["Default"] = 0] = "Default";
|
|
638
|
+
/**
|
|
639
|
+
* ReadOnly edit mode allows to view conditions but doesn't allow to change them, including the condition type, operator, value, etc.
|
|
640
|
+
*/
|
|
641
|
+
ConditionsEditMode[ConditionsEditMode["ReadOnly"] = 1] = "ReadOnly";
|
|
642
|
+
/**
|
|
643
|
+
* FixedList edit mode allows to modify some parameters of conditions (like their operators or values) but doesn't allow to add or delete conditions.
|
|
644
|
+
*/
|
|
645
|
+
ConditionsEditMode[ConditionsEditMode["FixedList"] = 16] = "FixedList";
|
|
646
|
+
/**
|
|
647
|
+
* Full edit mode allows to add, delete and change conditions in any way.
|
|
648
|
+
*/
|
|
649
|
+
ConditionsEditMode[ConditionsEditMode["Full"] = 255] = "Full";
|
|
650
|
+
})(exports.ConditionsEditMode || (exports.ConditionsEditMode = {}));
|
|
622
651
|
|
|
623
652
|
class MenuLevel {
|
|
624
653
|
get applyItem() {
|
|
@@ -3362,6 +3391,18 @@ class ColumnsPanel extends core.Widget {
|
|
|
3362
3391
|
getWidgetType() {
|
|
3363
3392
|
return 'columnsPanel';
|
|
3364
3393
|
}
|
|
3394
|
+
/**
|
|
3395
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
3396
|
+
*/
|
|
3397
|
+
get editMode() {
|
|
3398
|
+
return this.options.editMode || exports.ColumnsEditMode.Full;
|
|
3399
|
+
}
|
|
3400
|
+
set editMode(value) {
|
|
3401
|
+
if (this.options.editMode !== value) {
|
|
3402
|
+
this.options.editMode = value;
|
|
3403
|
+
this.refresh();
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3365
3406
|
init(context, options) {
|
|
3366
3407
|
super.init(context, options);
|
|
3367
3408
|
this.setOptions(options);
|
|
@@ -4755,6 +4796,18 @@ class ColumnsBar extends core.Widget {
|
|
|
4755
4796
|
// Only allow drag-drop in All and FixedList modes
|
|
4756
4797
|
return this.options.allowDragDrop && this.options.editMode > exports.ColumnsEditMode.ReadOnly;
|
|
4757
4798
|
}
|
|
4799
|
+
/**
|
|
4800
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
4801
|
+
*/
|
|
4802
|
+
get editMode() {
|
|
4803
|
+
return this.options.editMode || exports.ColumnsEditMode.Full;
|
|
4804
|
+
}
|
|
4805
|
+
set editMode(value) {
|
|
4806
|
+
if (this.options.editMode !== value) {
|
|
4807
|
+
this.options.editMode = value;
|
|
4808
|
+
this.refresh();
|
|
4809
|
+
}
|
|
4810
|
+
}
|
|
4758
4811
|
init(context, options) {
|
|
4759
4812
|
super.init(context, options);
|
|
4760
4813
|
this.setOptions(options);
|
|
@@ -5861,14 +5914,14 @@ exports.QPEditablePart = void 0;
|
|
|
5861
5914
|
(function (QPEditablePart) {
|
|
5862
5915
|
QPEditablePart[QPEditablePart["None"] = 0] = "None";
|
|
5863
5916
|
QPEditablePart[QPEditablePart["Value"] = 1] = "Value";
|
|
5864
|
-
QPEditablePart[QPEditablePart["
|
|
5865
|
-
QPEditablePart[QPEditablePart["
|
|
5917
|
+
QPEditablePart[QPEditablePart["Operator"] = 2] = "Operator";
|
|
5918
|
+
QPEditablePart[QPEditablePart["Attribute"] = 4] = "Attribute";
|
|
5866
5919
|
QPEditablePart[QPEditablePart["Addition"] = 8] = "Addition";
|
|
5867
5920
|
QPEditablePart[QPEditablePart["Removal"] = 16] = "Removal";
|
|
5868
5921
|
QPEditablePart[QPEditablePart["All"] = 255] = "All";
|
|
5869
5922
|
QPEditablePart[QPEditablePart["NoAddition"] = -9] = "NoAddition";
|
|
5870
5923
|
QPEditablePart[QPEditablePart["NoRemoval"] = -17] = "NoRemoval";
|
|
5871
|
-
QPEditablePart[QPEditablePart["FixedConditionList"] =
|
|
5924
|
+
QPEditablePart[QPEditablePart["FixedConditionList"] = 3] = "FixedConditionList";
|
|
5872
5925
|
})(exports.QPEditablePart || (exports.QPEditablePart = {}));
|
|
5873
5926
|
|
|
5874
5927
|
class TextRenderer {
|
|
@@ -5940,7 +5993,8 @@ class ConditionRenderer {
|
|
|
5940
5993
|
return this.element;
|
|
5941
5994
|
}
|
|
5942
5995
|
isEditable() {
|
|
5943
|
-
return this.condition.enabled && !this.condition.isReadOnly()
|
|
5996
|
+
return this.condition.enabled && !this.condition.isReadOnly()
|
|
5997
|
+
&& !(this.condition.isGroup() && this.panel.isFixed());
|
|
5944
5998
|
}
|
|
5945
5999
|
}
|
|
5946
6000
|
class SimpleConditionRenderer extends ConditionRenderer {
|
|
@@ -6065,7 +6119,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6065
6119
|
return null;
|
|
6066
6120
|
}
|
|
6067
6121
|
renderCheckbox() {
|
|
6068
|
-
if (this.panel.options.showCheckboxes && !this.condition.isReadOnly()) {
|
|
6122
|
+
if (this.panel.options.showCheckboxes && !this.condition.isReadOnly() && !this.panel.isFixed()) {
|
|
6069
6123
|
return ui.domel("div")
|
|
6070
6124
|
.title(core$1.i18n.getText('CmdToggleEnable'))
|
|
6071
6125
|
.attr('tabIndex', '0')
|
|
@@ -6292,7 +6346,8 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6292
6346
|
});
|
|
6293
6347
|
});
|
|
6294
6348
|
}
|
|
6295
|
-
if (this.getButtonsToShow().indexOf("enable") >= 0 && this.condition.getParent() && this.condition.getParent().enabled
|
|
6349
|
+
if (this.getButtonsToShow().indexOf("enable") >= 0 && this.condition.getParent() && this.condition.getParent().enabled
|
|
6350
|
+
&& !this.panel.options.showCheckboxes && !this.panel.isFixed()) {
|
|
6296
6351
|
builder.addChild("div", b => {
|
|
6297
6352
|
b.addClass(`${this.cssPrefix}-button-placeholder`)
|
|
6298
6353
|
.data("btnplaceholder", "")
|
|
@@ -6330,7 +6385,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6330
6385
|
});
|
|
6331
6386
|
});
|
|
6332
6387
|
}
|
|
6333
|
-
if (this.getButtonsToShow().indexOf("menu") >= 0) {
|
|
6388
|
+
if (this.getButtonsToShow().indexOf("menu") >= 0 && !this.panel.isFixed()) {
|
|
6334
6389
|
builder.addChild("div", b => {
|
|
6335
6390
|
b.addClass(`${this.cssPrefix}-button-placeholder`)
|
|
6336
6391
|
.data("btnplaceholder", "")
|
|
@@ -7691,7 +7746,8 @@ class QueryPanel extends core.Widget {
|
|
|
7691
7746
|
onOperatorRendered: null,
|
|
7692
7747
|
onGetAddRowRenderer: null,
|
|
7693
7748
|
defaultQuery: null,
|
|
7694
|
-
showIndicatorOnLoad: true
|
|
7749
|
+
showIndicatorOnLoad: true,
|
|
7750
|
+
editMode: exports.ConditionsEditMode.Default
|
|
7695
7751
|
};
|
|
7696
7752
|
this.customQuery = null;
|
|
7697
7753
|
this.landingSlot = ui.domel('div')
|
|
@@ -7722,8 +7778,9 @@ class QueryPanel extends core.Widget {
|
|
|
7722
7778
|
//detach previously defined query observer (if any)
|
|
7723
7779
|
this.detachQueryObserver();
|
|
7724
7780
|
this.attachQueryObserver();
|
|
7781
|
+
this.convertEditModelToEditableParts();
|
|
7725
7782
|
ui.eqDragManager.removeDropContainer(this.slot);
|
|
7726
|
-
if (this.options.allowDragDrop) {
|
|
7783
|
+
if (this.options.allowDragDrop && (this.options.editableParts & exports.QPEditablePart.Addition) == exports.QPEditablePart.Addition) {
|
|
7727
7784
|
const model = this.getContext().getModel();
|
|
7728
7785
|
ui.eqDragManager.registerDropContainer({
|
|
7729
7786
|
element: this.slot,
|
|
@@ -7759,6 +7816,22 @@ class QueryPanel extends core.Widget {
|
|
|
7759
7816
|
});
|
|
7760
7817
|
}
|
|
7761
7818
|
}
|
|
7819
|
+
convertEditModelToEditableParts() {
|
|
7820
|
+
// Convert editMode to editableParts for backward compatibility
|
|
7821
|
+
if (this.options.editMode !== exports.ConditionsEditMode.Default) {
|
|
7822
|
+
switch (this.options.editMode) {
|
|
7823
|
+
case exports.ConditionsEditMode.ReadOnly:
|
|
7824
|
+
this.options.editableParts = exports.QPEditablePart.None;
|
|
7825
|
+
break;
|
|
7826
|
+
case exports.ConditionsEditMode.FixedList:
|
|
7827
|
+
this.options.editableParts = exports.QPEditablePart.FixedConditionList;
|
|
7828
|
+
break;
|
|
7829
|
+
default:
|
|
7830
|
+
this.options.editableParts = exports.QPEditablePart.All;
|
|
7831
|
+
break;
|
|
7832
|
+
}
|
|
7833
|
+
}
|
|
7834
|
+
}
|
|
7762
7835
|
destroyCore() {
|
|
7763
7836
|
ui.eqDragManager.removeDropContainer(this.slot);
|
|
7764
7837
|
this.detachQueryObserver();
|
|
@@ -7895,6 +7968,31 @@ class QueryPanel extends core.Widget {
|
|
|
7895
7968
|
}
|
|
7896
7969
|
return this.context.getQuery();
|
|
7897
7970
|
}
|
|
7971
|
+
/**
|
|
7972
|
+
* Gets `true` if the query panel is in read-only mode. Otherwise - `false`.
|
|
7973
|
+
*/
|
|
7974
|
+
isReadOnly() {
|
|
7975
|
+
return (this.options.editableParts == exports.QPEditablePart.None);
|
|
7976
|
+
}
|
|
7977
|
+
/**
|
|
7978
|
+
* Gets `true` if the query panel is in FixedList edit mode. Otherwise - `false`.
|
|
7979
|
+
*/
|
|
7980
|
+
isFixed() {
|
|
7981
|
+
return this.options.editableParts < exports.QPEditablePart.Attribute;
|
|
7982
|
+
}
|
|
7983
|
+
/**
|
|
7984
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
7985
|
+
*/
|
|
7986
|
+
get editMode() {
|
|
7987
|
+
return this.options.editMode || exports.ConditionsEditMode.Default;
|
|
7988
|
+
}
|
|
7989
|
+
set editMode(value) {
|
|
7990
|
+
if (this.options.editMode !== value) {
|
|
7991
|
+
this.options.editMode = value;
|
|
7992
|
+
this.convertEditModelToEditableParts();
|
|
7993
|
+
this.refresh();
|
|
7994
|
+
}
|
|
7995
|
+
}
|
|
7898
7996
|
refreshCore() {
|
|
7899
7997
|
this.clear();
|
|
7900
7998
|
this.render();
|
|
@@ -7940,7 +8038,7 @@ class QueryPanel extends core.Widget {
|
|
|
7940
8038
|
if (renderer) {
|
|
7941
8039
|
renderer.render();
|
|
7942
8040
|
}
|
|
7943
|
-
if (this.options.showAddRow) {
|
|
8041
|
+
if (this.options.showAddRow && (this.options.editableParts & exports.QPEditablePart.Addition) == exports.QPEditablePart.Addition) {
|
|
7944
8042
|
this.addRowElement = ui.domel('div', this.slot)
|
|
7945
8043
|
.toDOM();
|
|
7946
8044
|
const addrowRenderer = this.getAddRowRenderer(this.addRowElement);
|
package/dist/easyquery.ui.esm.js
CHANGED
|
@@ -613,10 +613,39 @@ class EntitiesPanel extends Widget {
|
|
|
613
613
|
|
|
614
614
|
var ColumnsEditMode;
|
|
615
615
|
(function (ColumnsEditMode) {
|
|
616
|
+
/**
|
|
617
|
+
* ReadOnly edit mode allows to view columns but doesn't allow to change them.
|
|
618
|
+
*/
|
|
616
619
|
ColumnsEditMode[ColumnsEditMode["ReadOnly"] = 0] = "ReadOnly";
|
|
620
|
+
/**
|
|
621
|
+
* FixedList edit mode allows to edit some columns parameters (formats, sorting) and change their order
|
|
622
|
+
* but doesn't allow to add or delete columns.
|
|
623
|
+
*/
|
|
617
624
|
ColumnsEditMode[ColumnsEditMode["FixedList"] = 16] = "FixedList";
|
|
625
|
+
/**
|
|
626
|
+
* Full edit mode allows to add, delete and change columns in any way.
|
|
627
|
+
*/
|
|
618
628
|
ColumnsEditMode[ColumnsEditMode["Full"] = 255] = "Full";
|
|
619
629
|
})(ColumnsEditMode || (ColumnsEditMode = {}));
|
|
630
|
+
var ConditionsEditMode;
|
|
631
|
+
(function (ConditionsEditMode) {
|
|
632
|
+
/**
|
|
633
|
+
* No edit mode means that conditions are not editable at all.
|
|
634
|
+
*/
|
|
635
|
+
ConditionsEditMode[ConditionsEditMode["Default"] = 0] = "Default";
|
|
636
|
+
/**
|
|
637
|
+
* ReadOnly edit mode allows to view conditions but doesn't allow to change them, including the condition type, operator, value, etc.
|
|
638
|
+
*/
|
|
639
|
+
ConditionsEditMode[ConditionsEditMode["ReadOnly"] = 1] = "ReadOnly";
|
|
640
|
+
/**
|
|
641
|
+
* FixedList edit mode allows to modify some parameters of conditions (like their operators or values) but doesn't allow to add or delete conditions.
|
|
642
|
+
*/
|
|
643
|
+
ConditionsEditMode[ConditionsEditMode["FixedList"] = 16] = "FixedList";
|
|
644
|
+
/**
|
|
645
|
+
* Full edit mode allows to add, delete and change conditions in any way.
|
|
646
|
+
*/
|
|
647
|
+
ConditionsEditMode[ConditionsEditMode["Full"] = 255] = "Full";
|
|
648
|
+
})(ConditionsEditMode || (ConditionsEditMode = {}));
|
|
620
649
|
|
|
621
650
|
class MenuLevel {
|
|
622
651
|
get applyItem() {
|
|
@@ -3360,6 +3389,18 @@ class ColumnsPanel extends Widget {
|
|
|
3360
3389
|
getWidgetType() {
|
|
3361
3390
|
return 'columnsPanel';
|
|
3362
3391
|
}
|
|
3392
|
+
/**
|
|
3393
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
3394
|
+
*/
|
|
3395
|
+
get editMode() {
|
|
3396
|
+
return this.options.editMode || ColumnsEditMode.Full;
|
|
3397
|
+
}
|
|
3398
|
+
set editMode(value) {
|
|
3399
|
+
if (this.options.editMode !== value) {
|
|
3400
|
+
this.options.editMode = value;
|
|
3401
|
+
this.refresh();
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3363
3404
|
init(context, options) {
|
|
3364
3405
|
super.init(context, options);
|
|
3365
3406
|
this.setOptions(options);
|
|
@@ -4753,6 +4794,18 @@ class ColumnsBar extends Widget {
|
|
|
4753
4794
|
// Only allow drag-drop in All and FixedList modes
|
|
4754
4795
|
return this.options.allowDragDrop && this.options.editMode > ColumnsEditMode.ReadOnly;
|
|
4755
4796
|
}
|
|
4797
|
+
/**
|
|
4798
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
4799
|
+
*/
|
|
4800
|
+
get editMode() {
|
|
4801
|
+
return this.options.editMode || ColumnsEditMode.Full;
|
|
4802
|
+
}
|
|
4803
|
+
set editMode(value) {
|
|
4804
|
+
if (this.options.editMode !== value) {
|
|
4805
|
+
this.options.editMode = value;
|
|
4806
|
+
this.refresh();
|
|
4807
|
+
}
|
|
4808
|
+
}
|
|
4756
4809
|
init(context, options) {
|
|
4757
4810
|
super.init(context, options);
|
|
4758
4811
|
this.setOptions(options);
|
|
@@ -5859,14 +5912,14 @@ var QPEditablePart;
|
|
|
5859
5912
|
(function (QPEditablePart) {
|
|
5860
5913
|
QPEditablePart[QPEditablePart["None"] = 0] = "None";
|
|
5861
5914
|
QPEditablePart[QPEditablePart["Value"] = 1] = "Value";
|
|
5862
|
-
QPEditablePart[QPEditablePart["
|
|
5863
|
-
QPEditablePart[QPEditablePart["
|
|
5915
|
+
QPEditablePart[QPEditablePart["Operator"] = 2] = "Operator";
|
|
5916
|
+
QPEditablePart[QPEditablePart["Attribute"] = 4] = "Attribute";
|
|
5864
5917
|
QPEditablePart[QPEditablePart["Addition"] = 8] = "Addition";
|
|
5865
5918
|
QPEditablePart[QPEditablePart["Removal"] = 16] = "Removal";
|
|
5866
5919
|
QPEditablePart[QPEditablePart["All"] = 255] = "All";
|
|
5867
5920
|
QPEditablePart[QPEditablePart["NoAddition"] = -9] = "NoAddition";
|
|
5868
5921
|
QPEditablePart[QPEditablePart["NoRemoval"] = -17] = "NoRemoval";
|
|
5869
|
-
QPEditablePart[QPEditablePart["FixedConditionList"] =
|
|
5922
|
+
QPEditablePart[QPEditablePart["FixedConditionList"] = 3] = "FixedConditionList";
|
|
5870
5923
|
})(QPEditablePart || (QPEditablePart = {}));
|
|
5871
5924
|
|
|
5872
5925
|
class TextRenderer {
|
|
@@ -5938,7 +5991,8 @@ class ConditionRenderer {
|
|
|
5938
5991
|
return this.element;
|
|
5939
5992
|
}
|
|
5940
5993
|
isEditable() {
|
|
5941
|
-
return this.condition.enabled && !this.condition.isReadOnly()
|
|
5994
|
+
return this.condition.enabled && !this.condition.isReadOnly()
|
|
5995
|
+
&& !(this.condition.isGroup() && this.panel.isFixed());
|
|
5942
5996
|
}
|
|
5943
5997
|
}
|
|
5944
5998
|
class SimpleConditionRenderer extends ConditionRenderer {
|
|
@@ -6063,7 +6117,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6063
6117
|
return null;
|
|
6064
6118
|
}
|
|
6065
6119
|
renderCheckbox() {
|
|
6066
|
-
if (this.panel.options.showCheckboxes && !this.condition.isReadOnly()) {
|
|
6120
|
+
if (this.panel.options.showCheckboxes && !this.condition.isReadOnly() && !this.panel.isFixed()) {
|
|
6067
6121
|
return domel("div")
|
|
6068
6122
|
.title(i18n.getText('CmdToggleEnable'))
|
|
6069
6123
|
.attr('tabIndex', '0')
|
|
@@ -6290,7 +6344,8 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6290
6344
|
});
|
|
6291
6345
|
});
|
|
6292
6346
|
}
|
|
6293
|
-
if (this.getButtonsToShow().indexOf("enable") >= 0 && this.condition.getParent() && this.condition.getParent().enabled
|
|
6347
|
+
if (this.getButtonsToShow().indexOf("enable") >= 0 && this.condition.getParent() && this.condition.getParent().enabled
|
|
6348
|
+
&& !this.panel.options.showCheckboxes && !this.panel.isFixed()) {
|
|
6294
6349
|
builder.addChild("div", b => {
|
|
6295
6350
|
b.addClass(`${this.cssPrefix}-button-placeholder`)
|
|
6296
6351
|
.data("btnplaceholder", "")
|
|
@@ -6328,7 +6383,7 @@ class SimpleConditionRenderer extends ConditionRenderer {
|
|
|
6328
6383
|
});
|
|
6329
6384
|
});
|
|
6330
6385
|
}
|
|
6331
|
-
if (this.getButtonsToShow().indexOf("menu") >= 0) {
|
|
6386
|
+
if (this.getButtonsToShow().indexOf("menu") >= 0 && !this.panel.isFixed()) {
|
|
6332
6387
|
builder.addChild("div", b => {
|
|
6333
6388
|
b.addClass(`${this.cssPrefix}-button-placeholder`)
|
|
6334
6389
|
.data("btnplaceholder", "")
|
|
@@ -7689,7 +7744,8 @@ class QueryPanel extends Widget {
|
|
|
7689
7744
|
onOperatorRendered: null,
|
|
7690
7745
|
onGetAddRowRenderer: null,
|
|
7691
7746
|
defaultQuery: null,
|
|
7692
|
-
showIndicatorOnLoad: true
|
|
7747
|
+
showIndicatorOnLoad: true,
|
|
7748
|
+
editMode: ConditionsEditMode.Default
|
|
7693
7749
|
};
|
|
7694
7750
|
this.customQuery = null;
|
|
7695
7751
|
this.landingSlot = domel('div')
|
|
@@ -7720,8 +7776,9 @@ class QueryPanel extends Widget {
|
|
|
7720
7776
|
//detach previously defined query observer (if any)
|
|
7721
7777
|
this.detachQueryObserver();
|
|
7722
7778
|
this.attachQueryObserver();
|
|
7779
|
+
this.convertEditModelToEditableParts();
|
|
7723
7780
|
eqDragManager.removeDropContainer(this.slot);
|
|
7724
|
-
if (this.options.allowDragDrop) {
|
|
7781
|
+
if (this.options.allowDragDrop && (this.options.editableParts & QPEditablePart.Addition) == QPEditablePart.Addition) {
|
|
7725
7782
|
const model = this.getContext().getModel();
|
|
7726
7783
|
eqDragManager.registerDropContainer({
|
|
7727
7784
|
element: this.slot,
|
|
@@ -7757,6 +7814,22 @@ class QueryPanel extends Widget {
|
|
|
7757
7814
|
});
|
|
7758
7815
|
}
|
|
7759
7816
|
}
|
|
7817
|
+
convertEditModelToEditableParts() {
|
|
7818
|
+
// Convert editMode to editableParts for backward compatibility
|
|
7819
|
+
if (this.options.editMode !== ConditionsEditMode.Default) {
|
|
7820
|
+
switch (this.options.editMode) {
|
|
7821
|
+
case ConditionsEditMode.ReadOnly:
|
|
7822
|
+
this.options.editableParts = QPEditablePart.None;
|
|
7823
|
+
break;
|
|
7824
|
+
case ConditionsEditMode.FixedList:
|
|
7825
|
+
this.options.editableParts = QPEditablePart.FixedConditionList;
|
|
7826
|
+
break;
|
|
7827
|
+
default:
|
|
7828
|
+
this.options.editableParts = QPEditablePart.All;
|
|
7829
|
+
break;
|
|
7830
|
+
}
|
|
7831
|
+
}
|
|
7832
|
+
}
|
|
7760
7833
|
destroyCore() {
|
|
7761
7834
|
eqDragManager.removeDropContainer(this.slot);
|
|
7762
7835
|
this.detachQueryObserver();
|
|
@@ -7893,6 +7966,31 @@ class QueryPanel extends Widget {
|
|
|
7893
7966
|
}
|
|
7894
7967
|
return this.context.getQuery();
|
|
7895
7968
|
}
|
|
7969
|
+
/**
|
|
7970
|
+
* Gets `true` if the query panel is in read-only mode. Otherwise - `false`.
|
|
7971
|
+
*/
|
|
7972
|
+
isReadOnly() {
|
|
7973
|
+
return (this.options.editableParts == QPEditablePart.None);
|
|
7974
|
+
}
|
|
7975
|
+
/**
|
|
7976
|
+
* Gets `true` if the query panel is in FixedList edit mode. Otherwise - `false`.
|
|
7977
|
+
*/
|
|
7978
|
+
isFixed() {
|
|
7979
|
+
return this.options.editableParts < QPEditablePart.Attribute;
|
|
7980
|
+
}
|
|
7981
|
+
/**
|
|
7982
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
7983
|
+
*/
|
|
7984
|
+
get editMode() {
|
|
7985
|
+
return this.options.editMode || ConditionsEditMode.Default;
|
|
7986
|
+
}
|
|
7987
|
+
set editMode(value) {
|
|
7988
|
+
if (this.options.editMode !== value) {
|
|
7989
|
+
this.options.editMode = value;
|
|
7990
|
+
this.convertEditModelToEditableParts();
|
|
7991
|
+
this.refresh();
|
|
7992
|
+
}
|
|
7993
|
+
}
|
|
7896
7994
|
refreshCore() {
|
|
7897
7995
|
this.clear();
|
|
7898
7996
|
this.render();
|
|
@@ -7938,7 +8036,7 @@ class QueryPanel extends Widget {
|
|
|
7938
8036
|
if (renderer) {
|
|
7939
8037
|
renderer.render();
|
|
7940
8038
|
}
|
|
7941
|
-
if (this.options.showAddRow) {
|
|
8039
|
+
if (this.options.showAddRow && (this.options.editableParts & QPEditablePart.Addition) == QPEditablePart.Addition) {
|
|
7942
8040
|
this.addRowElement = domel('div', this.slot)
|
|
7943
8041
|
.toDOM();
|
|
7944
8042
|
const addrowRenderer = this.getAddRowRenderer(this.addRowElement);
|
|
@@ -14532,4 +14630,4 @@ if (!Array.prototype.findIndex) {
|
|
|
14532
14630
|
};
|
|
14533
14631
|
}
|
|
14534
14632
|
|
|
14535
|
-
export { AddRowRenderer, AdvancedSearchView, AggrFuncColumnRendererCB, AggrFuncColumnRendererCP, AggrSettingsDialog, AggrSettingsRenderer, AggregationBar, AttrColumnRendererCB, AttrColumnRendererCP, AttributeExpressionRenderer, BaseElementRenderer, ChartFacet, ChartJsWidget, ChartType, ChartWidget, ColumnAction, ColumnRendererCB, ColumnRendererCP, ColumnsBar, ColumnsEditMode, 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 };
|
|
14633
|
+
export { AddRowRenderer, AdvancedSearchView, AggrFuncColumnRendererCB, AggrFuncColumnRendererCP, AggrSettingsDialog, AggrSettingsRenderer, AggregationBar, AttrColumnRendererCB, AttrColumnRendererCP, AttributeExpressionRenderer, BaseElementRenderer, ChartFacet, ChartJsWidget, ChartType, ChartWidget, ColumnAction, ColumnRendererCB, ColumnRendererCP, ColumnsBar, ColumnsEditMode, ColumnsPanel, ConditionAction, ConditionGroupRenderer, ConditionGroupRowRenderer, ConditionRenderer, ConditionsEditMode, 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 };
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
export declare enum QPEditablePart {
|
|
5
5
|
None = 0,
|
|
6
6
|
Value = 1,
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Operator = 2,
|
|
8
|
+
Attribute = 4,
|
|
9
9
|
Addition = 8,
|
|
10
10
|
Removal = 16,
|
|
11
11
|
All = 255,
|
|
12
12
|
NoAddition = -9,
|
|
13
13
|
NoRemoval = -17,
|
|
14
|
-
FixedConditionList =
|
|
14
|
+
FixedConditionList = 3
|
|
15
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EqContext, Query, QueryColumn, Widget } from '@easyquery/core';
|
|
2
2
|
import { PopupMenu } from '../utils/popup_menu';
|
|
3
|
-
import { ColumnsBarOptions } from './widget_options';
|
|
3
|
+
import { ColumnsBarOptions, ColumnsEditMode } from './widget_options';
|
|
4
4
|
export declare class ColumnsBar extends Widget {
|
|
5
5
|
private static globalCounter;
|
|
6
6
|
options: ColumnsBarOptions;
|
|
@@ -21,6 +21,11 @@ export declare class ColumnsBar extends Widget {
|
|
|
21
21
|
constructor(slot: HTMLElement, customQuery?: Query);
|
|
22
22
|
getWidgetType(): string;
|
|
23
23
|
isDraggable(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
26
|
+
*/
|
|
27
|
+
get editMode(): ColumnsEditMode;
|
|
28
|
+
set editMode(value: ColumnsEditMode);
|
|
24
29
|
init(context: EqContext, options?: ColumnsBarOptions): void;
|
|
25
30
|
private attachQueryObserver;
|
|
26
31
|
getQuery(): Query;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EqContext, QueryColumn, Widget } from '@easyquery/core';
|
|
2
|
-
import { ColumnsPanelOptions } from './widget_options';
|
|
2
|
+
import { ColumnsEditMode, ColumnsPanelOptions } from './widget_options';
|
|
3
3
|
import { PopupMenu } from '../utils/popup_menu';
|
|
4
4
|
export declare class ColumnsPanel extends Widget {
|
|
5
5
|
options: ColumnsPanelOptions;
|
|
@@ -14,6 +14,11 @@ export declare class ColumnsPanel extends Widget {
|
|
|
14
14
|
protected get cssPrefix(): string;
|
|
15
15
|
constructor(slot: HTMLElement);
|
|
16
16
|
getWidgetType(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
19
|
+
*/
|
|
20
|
+
get editMode(): ColumnsEditMode;
|
|
21
|
+
set editMode(value: ColumnsEditMode);
|
|
17
22
|
init(context: EqContext, options?: ColumnsPanelOptions): void;
|
|
18
23
|
protected renderBaseElements(): void;
|
|
19
24
|
protected destroyCore(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Widget, EqContext, Condition, Expression, Query } from '@easyquery/core';
|
|
2
2
|
import { PopupMenu, PopupMenuOptions } from '../utils/popup_menu';
|
|
3
|
-
import { QueryPanelOptions } from './widget_options';
|
|
3
|
+
import { ConditionsEditMode, QueryPanelOptions } from './widget_options';
|
|
4
4
|
import { ConditionRenderer } from './renderers/querypanel/condition_renderer';
|
|
5
5
|
import { ExpressionRenderer } from './renderers/querypanel/expression_renderer';
|
|
6
6
|
import { BaseElementRenderer } from './renderers/base_element_renderer';
|
|
@@ -32,6 +32,7 @@ export declare class QueryPanel extends Widget {
|
|
|
32
32
|
* @param options The options.
|
|
33
33
|
*/
|
|
34
34
|
init(context: EqContext, options?: QueryPanelOptions): void;
|
|
35
|
+
private convertEditModelToEditableParts;
|
|
35
36
|
protected destroyCore(): void;
|
|
36
37
|
getEntitiesMenu(): PopupMenu;
|
|
37
38
|
getConditionMenu(): PopupMenu;
|
|
@@ -40,6 +41,19 @@ export declare class QueryPanel extends Widget {
|
|
|
40
41
|
private attachQueryObserver;
|
|
41
42
|
private detachQueryObserver;
|
|
42
43
|
getQuery(): Query;
|
|
44
|
+
/**
|
|
45
|
+
* Gets `true` if the query panel is in read-only mode. Otherwise - `false`.
|
|
46
|
+
*/
|
|
47
|
+
isReadOnly(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Gets `true` if the query panel is in FixedList edit mode. Otherwise - `false`.
|
|
50
|
+
*/
|
|
51
|
+
isFixed(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
|
|
54
|
+
*/
|
|
55
|
+
get editMode(): ConditionsEditMode;
|
|
56
|
+
set editMode(value: ConditionsEditMode);
|
|
43
57
|
protected refreshCore(): void;
|
|
44
58
|
protected setOptions(options?: QueryPanelOptions): void;
|
|
45
59
|
protected clear(): void;
|
|
@@ -16,8 +16,36 @@ export interface UseInOptions {
|
|
|
16
16
|
useInSorting: boolean;
|
|
17
17
|
}
|
|
18
18
|
export declare enum ColumnsEditMode {
|
|
19
|
+
/**
|
|
20
|
+
* ReadOnly edit mode allows to view columns but doesn't allow to change them.
|
|
21
|
+
*/
|
|
19
22
|
ReadOnly = 0,
|
|
23
|
+
/**
|
|
24
|
+
* FixedList edit mode allows to edit some columns parameters (formats, sorting) and change their order
|
|
25
|
+
* but doesn't allow to add or delete columns.
|
|
26
|
+
*/
|
|
20
27
|
FixedList = 16,
|
|
28
|
+
/**
|
|
29
|
+
* Full edit mode allows to add, delete and change columns in any way.
|
|
30
|
+
*/
|
|
31
|
+
Full = 255
|
|
32
|
+
}
|
|
33
|
+
export declare enum ConditionsEditMode {
|
|
34
|
+
/**
|
|
35
|
+
* No edit mode means that conditions are not editable at all.
|
|
36
|
+
*/
|
|
37
|
+
Default = 0,
|
|
38
|
+
/**
|
|
39
|
+
* ReadOnly edit mode allows to view conditions but doesn't allow to change them, including the condition type, operator, value, etc.
|
|
40
|
+
*/
|
|
41
|
+
ReadOnly = 1,
|
|
42
|
+
/**
|
|
43
|
+
* FixedList edit mode allows to modify some parameters of conditions (like their operators or values) but doesn't allow to add or delete conditions.
|
|
44
|
+
*/
|
|
45
|
+
FixedList = 16,
|
|
46
|
+
/**
|
|
47
|
+
* Full edit mode allows to add, delete and change conditions in any way.
|
|
48
|
+
*/
|
|
21
49
|
Full = 255
|
|
22
50
|
}
|
|
23
51
|
/** EntitiesPanel options */
|
|
@@ -173,7 +201,7 @@ export interface ColumnsPanelOptions {
|
|
|
173
201
|
showAddAllForEntity?: boolean;
|
|
174
202
|
/** Gets or sets a value indicating whether a progress indicator should appear while the model is loading */
|
|
175
203
|
showIndicatorOnLoad?: boolean;
|
|
176
|
-
/** Gets or sets the edit mode option:
|
|
204
|
+
/** Gets or sets the edit mode option: Full, FixedList or ReadOnly */
|
|
177
205
|
editMode?: ColumnsEditMode;
|
|
178
206
|
[name: string]: any;
|
|
179
207
|
}
|
|
@@ -352,6 +380,8 @@ export interface QueryPanelOptions {
|
|
|
352
380
|
adjustEntitiesMenuHeight?: boolean;
|
|
353
381
|
domWriteItemsId?: boolean;
|
|
354
382
|
dateTimePickerResolver?: (options: DateTimePickerOptions) => DateTimePicker;
|
|
383
|
+
/** Gets or sets the edit mode option: Full, FixedList or ReadOnly */
|
|
384
|
+
editMode?: ConditionsEditMode;
|
|
355
385
|
}
|
|
356
386
|
/**
|
|
357
387
|
* Grid options type.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easyquery/ui",
|
|
3
|
-
"version": "7.4.0-
|
|
3
|
+
"version": "7.4.0-rc05",
|
|
4
4
|
"description": "EasyQuery.JS Community UI widgets",
|
|
5
5
|
"types": "./dist/types/public_api.d.ts",
|
|
6
6
|
"main": "./dist/easyquery.ui.cjs.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"bugs": "https://korzh.com/support",
|
|
31
31
|
"license": "LGPL-3.0",
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@easyquery/core": "^7.4.0-
|
|
33
|
+
"@easyquery/core": "^7.4.0-rc05"
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
36
|
"dist",
|