@easyquery/ui 7.4.0-rc04 → 7.4.0

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.
@@ -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["Attribute"] = 2] = "Attribute";
5865
- QPEditablePart[QPEditablePart["Operator"] = 4] = "Operator";
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"] = 5] = "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);
@@ -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["Attribute"] = 2] = "Attribute";
5863
- QPEditablePart[QPEditablePart["Operator"] = 4] = "Operator";
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"] = 5] = "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
- Attribute = 2,
8
- Operator = 4,
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 = 5
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: All, FixedList or ReadOnly */
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.
@@ -361,8 +391,6 @@ export interface GridOptions {
361
391
  beforeTableRendering?: (dataTable: EasyDataTable) => void;
362
392
  /** Function thart formats column header */
363
393
  formatColumnHeader?: (dataTable: EasyDataTable, index: number, colLabel: string) => string;
364
- /** A callback function that allows users to format value in a particular cell */
365
- formatGridCell?: (dataTable: EasyDataTable, rowIndex: number, colIndex: number, text: string) => string;
366
394
  /** pageItem css class */
367
395
  pageItemCssClass?: string;
368
396
  /** Max count of buttons */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyquery/ui",
3
- "version": "7.4.0-rc04",
3
+ "version": "7.4.0",
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-rc04"
33
+ "@easyquery/core": "^7.4.0"
34
34
  },
35
35
  "files": [
36
36
  "dist",