smart-webcomponents-react 14.2.92 → 14.3.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.
- package/alertwindow/alertwindow.d.ts +5 -5
- package/alertwindow/alertwindow.esm.js +10 -85
- package/alertwindow/alertwindow.umd.js +1134 -1209
- package/array/array.d.ts +5 -5
- package/array/array.esm.js +13 -88
- package/array/array.umd.js +752 -827
- package/barcode/barcode.d.ts +3 -3
- package/barcode/barcode.esm.js +6 -61
- package/barcode/barcode.umd.js +311 -366
- package/button/dropdownbutton.d.ts +2 -2
- package/button/multisplitbutton.d.ts +2 -2
- package/calendar/calendar.d.ts +2 -2
- package/calendar/calendar.esm.js +4 -49
- package/calendar/calendar.umd.js +710 -755
- package/card/cardview.d.ts +1 -1
- package/cardview/cardview.d.ts +1 -1
- package/cardview/cardview.esm.js +2 -37
- package/cardview/cardview.umd.js +515 -550
- package/chart/chart.d.ts +9 -9
- package/chart/chart.esm.js +18 -133
- package/chart/chart.umd.js +822 -937
- package/chart/ganttchart.d.ts +20 -20
- package/combobox/combobox.d.ts +4 -4
- package/combobox/combobox.esm.js +8 -73
- package/combobox/combobox.umd.js +1341 -1406
- package/datetimepicker/datetimepicker.d.ts +1 -1
- package/datetimepicker/datetimepicker.esm.js +2 -37
- package/datetimepicker/datetimepicker.umd.js +826 -861
- package/dialogwindow/dialogwindow.d.ts +5 -5
- package/dialogwindow/dialogwindow.esm.js +10 -85
- package/dialogwindow/dialogwindow.umd.js +1134 -1209
- package/dockinglayout/dockinglayout.d.ts +7 -7
- package/dockinglayout/dockinglayout.esm.js +14 -109
- package/dockinglayout/dockinglayout.umd.js +765 -860
- package/dropdownbutton/dropdownbutton.d.ts +2 -2
- package/dropdownbutton/dropdownbutton.esm.js +4 -49
- package/dropdownbutton/dropdownbutton.umd.js +527 -572
- package/dropdownlist/dropdownlist.d.ts +4 -4
- package/dropdownlist/dropdownlist.esm.js +8 -73
- package/dropdownlist/dropdownlist.umd.js +1275 -1340
- package/editor/editor.d.ts +11 -9
- package/editor/editor.esm.js +14 -109
- package/editor/editor.umd.js +911 -1006
- package/fileupload/fileupload.d.ts +2 -1
- package/filterbuilder/filterbuilder.d.ts +1 -1
- package/filterbuilder/filterbuilder.esm.js +2 -37
- package/filterbuilder/filterbuilder.umd.js +463 -498
- package/filterpanel/filterpanel.d.ts +1 -1
- package/filterpanel/filterpanel.esm.js +2 -37
- package/filterpanel/filterpanel.umd.js +354 -389
- package/form/form.d.ts +1 -1
- package/form/form.esm.js +4 -49
- package/form/form.umd.js +1016 -1061
- package/form/formgroup.d.ts +1 -1
- package/ganttchart/ganttchart.d.ts +20 -20
- package/ganttchart/ganttchart.esm.js +40 -265
- package/ganttchart/ganttchart.umd.js +1666 -1891
- package/gauge/gauge.d.ts +2 -2
- package/gauge/gauge.esm.js +4 -49
- package/gauge/gauge.umd.js +664 -709
- package/grid/grid.d.ts +56 -51
- package/grid/grid.esm.js +96 -460
- package/grid/grid.umd.js +2107 -2471
- package/index.d.ts +45 -3
- package/input/input.d.ts +2 -2
- package/input/input.esm.js +4 -49
- package/input/input.umd.js +505 -550
- package/input/numberinput.d.ts +2 -2
- package/input/phoneinput.d.ts +4 -4
- package/kanban/kanban.d.ts +6 -6
- package/kanban/kanban.esm.js +12 -97
- package/kanban/kanban.umd.js +1334 -1419
- package/layout/dockinglayout.d.ts +7 -7
- package/listbox/listbox.d.ts +5 -5
- package/listbox/listbox.esm.js +10 -85
- package/listbox/listbox.umd.js +1170 -1245
- package/listmenu/listmenu.d.ts +1 -1
- package/listmenu/listmenu.esm.js +2 -37
- package/listmenu/listmenu.umd.js +1005 -1040
- package/menu/listmenu.d.ts +1 -1
- package/menu/menu.d.ts +1 -1
- package/menu/menu.esm.js +2 -37
- package/menu/menu.umd.js +1025 -1060
- package/multilinetextbox/multilinetextbox.d.ts +1 -1
- package/multilinetextbox/multilinetextbox.esm.js +2 -37
- package/multilinetextbox/multilinetextbox.umd.js +907 -942
- package/multilinewindow/multilinewindow.d.ts +5 -5
- package/multilinewindow/multilinewindow.esm.js +10 -85
- package/multilinewindow/multilinewindow.umd.js +1134 -1209
- package/multisplitbutton/multisplitbutton.d.ts +2 -2
- package/multisplitbutton/multisplitbutton.esm.js +4 -49
- package/multisplitbutton/multisplitbutton.umd.js +941 -986
- package/numberinput/numberinput.d.ts +2 -2
- package/numberinput/numberinput.esm.js +4 -49
- package/numberinput/numberinput.umd.js +348 -393
- package/numerictextbox/numerictextbox.d.ts +1 -1
- package/numerictextbox/numerictextbox.esm.js +2 -37
- package/numerictextbox/numerictextbox.umd.js +592 -627
- package/package.json +1 -1
- package/phoneinput/phoneinput.d.ts +4 -4
- package/phoneinput/phoneinput.esm.js +8 -73
- package/phoneinput/phoneinput.umd.js +386 -451
- package/pivottable/pivottable.d.ts +3 -3
- package/pivottable/pivottable.esm.js +6 -61
- package/pivottable/pivottable.umd.js +762 -817
- package/progresswindow/progresswindow.d.ts +5 -5
- package/progresswindow/progresswindow.esm.js +10 -85
- package/progresswindow/progresswindow.umd.js +1134 -1209
- package/promptwindow/promptwindow.d.ts +5 -5
- package/promptwindow/promptwindow.esm.js +10 -85
- package/promptwindow/promptwindow.umd.js +1134 -1209
- package/qrcode/qrcode.d.ts +3 -3
- package/qrcode/qrcode.esm.js +6 -61
- package/qrcode/qrcode.umd.js +333 -388
- package/querybuilder/querybuilder.d.ts +6 -1
- package/querybuilder/querybuilder.esm.js +14 -38
- package/querybuilder/querybuilder.umd.js +446 -470
- package/rating/rating.d.ts +1 -1
- package/rating/rating.esm.js +2 -37
- package/rating/rating.umd.js +261 -296
- package/scheduler/scheduler.d.ts +17 -17
- package/scheduler/scheduler.esm.js +34 -229
- package/scheduler/scheduler.umd.js +1782 -1977
- package/slider/slider.d.ts +2 -2
- package/slider/slider.esm.js +4 -49
- package/slider/slider.umd.js +642 -687
- package/source/modules/smart.accordion.js +1 -1
- package/source/modules/smart.array.js +2 -2
- package/source/modules/smart.barcode.js +1 -1
- package/source/modules/smart.breadcrumb.js +1 -1
- package/source/modules/smart.button.js +1 -1
- package/source/modules/smart.buttongroup.js +1 -1
- package/source/modules/smart.calendar.js +2 -2
- package/source/modules/smart.card.js +1 -1
- package/source/modules/smart.cardview.js +3 -3
- package/source/modules/smart.carousel.js +1 -1
- package/source/modules/smart.chart.js +1 -1
- package/source/modules/smart.checkbox.js +1 -1
- package/source/modules/smart.checkinput.js +2 -2
- package/source/modules/smart.chip.js +1 -1
- package/source/modules/smart.colorinput.js +2 -2
- package/source/modules/smart.colorpanel.js +2 -2
- package/source/modules/smart.colorpicker.js +2 -2
- package/source/modules/smart.combobox.js +2 -2
- package/source/modules/smart.common.js +1 -1
- package/source/modules/smart.countryinput.js +2 -2
- package/source/modules/smart.dateinput.js +2 -2
- package/source/modules/smart.daterangeinput.js +3 -3
- package/source/modules/smart.datetimepicker.js +2 -2
- package/source/modules/smart.dockinglayout.js +1 -1
- package/source/modules/smart.dropdownbutton.js +1 -1
- package/source/modules/smart.dropdownlist.js +2 -2
- package/source/modules/smart.editor.js +5 -5
- package/source/modules/smart.element.js +1 -1
- package/source/modules/smart.fileupload.js +3 -3
- package/source/modules/smart.form.js +2 -2
- package/source/modules/smart.formulaparser.js +1 -1
- package/source/modules/smart.ganttchart.js +4 -4
- package/source/modules/smart.gauge.js +1 -1
- package/source/modules/smart.grid.js +9 -9
- package/source/modules/smart.gridpanel.js +3 -3
- package/source/modules/smart.input.js +2 -2
- package/source/modules/smart.kanban.js +4 -4
- package/source/modules/smart.layout.js +1 -1
- package/source/modules/smart.led.js +1 -1
- package/source/modules/smart.listbox.js +2 -2
- package/source/modules/smart.listmenu.js +1 -1
- package/source/modules/smart.map.js +1 -1
- package/source/modules/smart.maskedtextbox.js +2 -2
- package/source/modules/smart.menu.js +1 -1
- package/source/modules/smart.multicomboinput.js +2 -2
- package/source/modules/smart.multiinput.js +2 -2
- package/source/modules/smart.multilinetextbox.js +2 -2
- package/source/modules/smart.multisplitbutton.js +2 -2
- package/source/modules/smart.numberinput.js +2 -2
- package/source/modules/smart.numerictextbox.js +2 -2
- package/source/modules/smart.pager.js +2 -2
- package/source/modules/smart.passwordinput.js +2 -2
- package/source/modules/smart.passwordtextbox.js +2 -2
- package/source/modules/smart.path.js +1 -1
- package/source/modules/smart.phoneinput.js +2 -2
- package/source/modules/smart.pivottable.js +3 -3
- package/source/modules/smart.progressbar.js +1 -1
- package/source/modules/smart.qrcode.js +1 -1
- package/source/modules/smart.querybuilder.js +4 -4
- package/source/modules/smart.radiobutton.js +1 -1
- package/source/modules/smart.rating.js +1 -1
- package/source/modules/smart.router.js +1 -1
- package/source/modules/smart.scheduler.js +3 -3
- package/source/modules/smart.scrollbar.js +1 -1
- package/source/modules/smart.slider.js +1 -1
- package/source/modules/smart.sortable.js +1 -1
- package/source/modules/smart.splitter.js +1 -1
- package/source/modules/smart.switchbutton.js +1 -1
- package/source/modules/smart.table.js +3 -3
- package/source/modules/smart.tabs.js +1 -1
- package/source/modules/smart.tank.js +1 -1
- package/source/modules/smart.textarea.js +2 -2
- package/source/modules/smart.textbox.js +2 -2
- package/source/modules/smart.timeinput.js +2 -2
- package/source/modules/smart.timepicker.js +1 -1
- package/source/modules/smart.toast.js +1 -1
- package/source/modules/smart.tooltip.js +1 -1
- package/source/modules/smart.tree.js +1 -1
- package/source/modules/smart.validator.js +1 -1
- package/source/modules/smart.window.js +2 -2
- package/source/smart.accordion.js +1 -1
- package/source/smart.ajax.js +1 -1
- package/source/smart.array.js +1 -1
- package/source/smart.barcode.js +1 -1
- package/source/smart.bootstrap.js +1 -1
- package/source/smart.breadcrumb.js +1 -1
- package/source/smart.button.js +1 -1
- package/source/smart.buttongroup.js +1 -1
- package/source/smart.calendar.js +1 -1
- package/source/smart.card.js +1 -1
- package/source/smart.cardview.js +1 -1
- package/source/smart.carousel.js +1 -1
- package/source/smart.chart.annotations.js +1 -1
- package/source/smart.chart.api.js +1 -1
- package/source/smart.chart.core.js +1 -1
- package/source/smart.chart.js +1 -1
- package/source/smart.chart.rangeselector.js +1 -1
- package/source/smart.chart.waterfall.js +1 -1
- package/source/smart.checkbox.js +1 -1
- package/source/smart.checkinput.js +1 -1
- package/source/smart.chip.js +1 -1
- package/source/smart.colorinput.js +1 -1
- package/source/smart.colorpanel.js +1 -1
- package/source/smart.colorpicker.js +1 -1
- package/source/smart.combobox.js +1 -1
- package/source/smart.complex.js +1 -1
- package/source/smart.core.js +1 -1
- package/source/smart.countryinput.js +1 -1
- package/source/smart.data.js +1 -1
- package/source/smart.date.js +1 -1
- package/source/smart.dateformatpanel.js +1 -1
- package/source/smart.dateinput.js +1 -1
- package/source/smart.daterangeinput.js +1 -1
- package/source/smart.datetimepicker.js +1 -1
- package/source/smart.dockinglayout.js +1 -1
- package/source/smart.draw.js +1 -1
- package/source/smart.dropdownbutton.js +1 -1
- package/source/smart.dropdownlist.js +1 -1
- package/source/smart.editor.js +2 -2
- package/source/smart.element.js +1 -1
- package/source/smart.elements.js +13 -13
- package/source/smart.export.js +1 -1
- package/source/smart.fileupload.js +2 -2
- package/source/smart.filter.js +1 -1
- package/source/smart.filterbuilder.js +2 -2
- package/source/smart.filterpanel.js +1 -1
- package/source/smart.form.js +1 -1
- package/source/smart.format.js +1 -1
- package/source/smart.formulaparser.js +1 -1
- package/source/smart.ganttchart.js +2 -2
- package/source/smart.gauge.js +1 -1
- package/source/smart.grid.cell.js +2 -2
- package/source/smart.grid.chart.js +1 -1
- package/source/smart.grid.column.js +1 -1
- package/source/smart.grid.core.js +2 -2
- package/source/smart.grid.dialog.js +2 -2
- package/source/smart.grid.edit.js +2 -2
- package/source/smart.grid.export.js +1 -1
- package/source/smart.grid.filter.js +1 -1
- package/source/smart.grid.group.js +1 -1
- package/source/smart.grid.js +1 -1
- package/source/smart.grid.menu.js +1 -1
- package/source/smart.grid.pager.js +1 -1
- package/source/smart.grid.reorder.js +1 -1
- package/source/smart.grid.resize.js +1 -1
- package/source/smart.grid.row.js +1 -1
- package/source/smart.grid.select.js +2 -2
- package/source/smart.grid.sort.js +1 -1
- package/source/smart.grid.toolbar.js +1 -1
- package/source/smart.grid.tree.js +1 -1
- package/source/smart.grid.view.js +1 -1
- package/source/smart.gridpanel.js +1 -1
- package/source/smart.input.js +2 -2
- package/source/smart.kanban.js +2 -2
- package/source/smart.layout.js +1 -1
- package/source/smart.led.js +1 -1
- package/source/smart.listbox.js +2 -2
- package/source/smart.listmenu.js +1 -1
- package/source/smart.map.js +1 -1
- package/source/smart.maskedtextbox.js +1 -1
- package/source/smart.math.js +1 -1
- package/source/smart.menu.js +1 -1
- package/source/smart.multicomboinput.js +1 -1
- package/source/smart.multiinput.js +1 -1
- package/source/smart.multilinetextbox.js +1 -1
- package/source/smart.multisplitbutton.js +1 -1
- package/source/smart.numberformatpanel.js +1 -1
- package/source/smart.numberinput.js +1 -1
- package/source/smart.numeric.js +1 -1
- package/source/smart.numerictextbox.js +1 -1
- package/source/smart.pager.js +1 -1
- package/source/smart.passwordinput.js +1 -1
- package/source/smart.passwordtextbox.js +1 -1
- package/source/smart.path.js +1 -1
- package/source/smart.phoneinput.js +1 -1
- package/source/smart.pivottable.js +1 -1
- package/source/smart.powerbutton.js +1 -1
- package/source/smart.progressbar.js +1 -1
- package/source/smart.qrcode.js +1 -1
- package/source/smart.radiobutton.js +1 -1
- package/source/smart.rating.js +1 -1
- package/source/smart.router.js +1 -1
- package/source/smart.scheduler.js +1 -1
- package/source/smart.scrollbar.js +1 -1
- package/source/smart.slider.js +1 -1
- package/source/smart.sortable.js +1 -1
- package/source/smart.splitter.js +1 -1
- package/source/smart.switchbutton.js +1 -1
- package/source/smart.table.js +1 -1
- package/source/smart.tabs.js +1 -1
- package/source/smart.tank.js +1 -1
- package/source/smart.textarea.js +1 -1
- package/source/smart.textbox.js +1 -1
- package/source/smart.tickintervalhandler.js +1 -1
- package/source/smart.timeinput.js +1 -1
- package/source/smart.timepicker.js +1 -1
- package/source/smart.toast.js +1 -1
- package/source/smart.tooltip.js +1 -1
- package/source/smart.tree.js +1 -1
- package/source/smart.validationpanel.js +1 -1
- package/source/smart.validator.js +1 -1
- package/source/smart.window.js +1 -1
- package/source/typescript/smart.editor.d.ts +4 -2
- package/source/typescript/smart.elements.d.ts +45 -3
- package/source/typescript/smart.fileupload.d.ts +2 -1
- package/source/typescript/smart.grid.d.ts +34 -0
- package/source/typescript/smart.querybuilder.d.ts +5 -0
- package/splitter/splitter.d.ts +3 -3
- package/splitter/splitter.esm.js +6 -61
- package/splitter/splitter.umd.js +901 -956
- package/table/pivottable.d.ts +3 -3
- package/table/table.d.ts +7 -7
- package/table/table.esm.js +14 -109
- package/table/table.umd.js +1278 -1373
- package/tabs/tabs.d.ts +4 -4
- package/tabs/tabs.esm.js +8 -73
- package/tabs/tabs.umd.js +875 -940
- package/tabs/tabswindow.d.ts +5 -5
- package/tabswindow/tabswindow.d.ts +5 -5
- package/tabswindow/tabswindow.esm.js +10 -85
- package/tabswindow/tabswindow.umd.js +1134 -1209
- package/tank/tank.d.ts +2 -2
- package/tank/tank.esm.js +4 -49
- package/tank/tank.umd.js +598 -643
- package/textbox/multilinetextbox.d.ts +1 -1
- package/textbox/numerictextbox.d.ts +1 -1
- package/timepicker/datetimepicker.d.ts +1 -1
- package/toast/toast.d.ts +1 -1
- package/toast/toast.esm.js +2 -37
- package/toast/toast.umd.js +397 -432
- package/tree/tree.d.ts +4 -4
- package/tree/tree.esm.js +8 -73
- package/tree/tree.umd.js +1310 -1375
- package/waitwindow/waitwindow.d.ts +5 -5
- package/waitwindow/waitwindow.esm.js +10 -85
- package/waitwindow/waitwindow.umd.js +1134 -1209
- package/window/alertwindow.d.ts +5 -5
- package/window/dialogwindow.d.ts +5 -5
- package/window/multilinewindow.d.ts +5 -5
- package/window/progresswindow.d.ts +5 -5
- package/window/promptwindow.d.ts +5 -5
- package/window/tabswindow.d.ts +5 -5
- package/window/waitwindow.d.ts +5 -5
- package/window/window.d.ts +5 -5
- package/window/window.esm.js +10 -85
- package/window/window.umd.js +1134 -1209
|
@@ -2,399 +2,364 @@
|
|
|
2
2
|
require('../source/modules/smart.filterpanel');
|
|
3
3
|
|
|
4
4
|
(function (global, factory) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
|
|
6
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
|
|
7
|
+
(factory((global.filterpanel = {}),global.React));
|
|
8
8
|
}(this, (function (exports,React) { 'use strict';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
React = React && React.hasOwnProperty('default') ? React['default'] : React;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
12
|
+
const Smart = window.Smart;
|
|
13
|
+
/**
|
|
14
|
+
The filter panel allows you to customize and display the applied filter expressions.
|
|
15
|
+
*/
|
|
16
|
+
class FilterPanel extends React.Component {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super(props);
|
|
19
|
+
this.componentRef = React.createRef();
|
|
20
|
+
}
|
|
21
|
+
// Gets the id of the React component.
|
|
22
|
+
get id() {
|
|
23
|
+
if (!this._id) {
|
|
24
|
+
this._id = 'FilterPanel' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
|
|
25
|
+
}
|
|
26
|
+
return this._id;
|
|
27
|
+
}
|
|
28
|
+
/** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
|
|
29
|
+
* Property type: Animation | string
|
|
30
|
+
*/
|
|
31
|
+
get animation() {
|
|
32
|
+
return this.nativeElement ? this.nativeElement.animation : undefined;
|
|
33
|
+
}
|
|
34
|
+
set animation(value) {
|
|
35
|
+
if (this.nativeElement) {
|
|
36
|
+
this.nativeElement.animation = value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Defines which operation buttons will be shown in the filter panel
|
|
40
|
+
* Property type: string[]
|
|
41
|
+
*/
|
|
42
|
+
get buttons() {
|
|
43
|
+
return this.nativeElement ? this.nativeElement.buttons : undefined;
|
|
44
|
+
}
|
|
45
|
+
set buttons(value) {
|
|
46
|
+
if (this.nativeElement) {
|
|
47
|
+
this.nativeElement.buttons = value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Array in mode: 'excel', determines the data to extract unique filter values from. The expected format of the data is an array of objects with key-value pairs (JSON array)
|
|
51
|
+
* Property type: number[]
|
|
52
|
+
*/
|
|
53
|
+
get data() {
|
|
54
|
+
return this.nativeElement ? this.nativeElement.data : undefined;
|
|
55
|
+
}
|
|
56
|
+
set data(value) {
|
|
57
|
+
if (this.nativeElement) {
|
|
58
|
+
this.nativeElement.data = value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Describes filtered data field.
|
|
62
|
+
* Property type: string
|
|
63
|
+
*/
|
|
64
|
+
get dataField() {
|
|
65
|
+
return this.nativeElement ? this.nativeElement.dataField : undefined;
|
|
66
|
+
}
|
|
67
|
+
set dataField(value) {
|
|
68
|
+
if (this.nativeElement) {
|
|
69
|
+
this.nativeElement.dataField = value;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** If set to an array, determines a custom collection of filter values to be displayed. If set to a callback function, the user can add custom filter values dynamically to the default filter values (in this case, the evaluateFilterExpression function must also be implemented) .dataSource is only available in mode: 'excel'.
|
|
73
|
+
* Property type: any
|
|
74
|
+
*/
|
|
75
|
+
get dataSource() {
|
|
76
|
+
return this.nativeElement ? this.nativeElement.dataSource : undefined;
|
|
77
|
+
}
|
|
78
|
+
set dataSource(value) {
|
|
79
|
+
if (this.nativeElement) {
|
|
80
|
+
this.nativeElement.dataSource = value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Enables or disables filter panel.
|
|
84
|
+
* Property type: boolean
|
|
85
|
+
*/
|
|
86
|
+
get disabled() {
|
|
87
|
+
return this.nativeElement ? this.nativeElement.disabled : undefined;
|
|
88
|
+
}
|
|
89
|
+
set disabled(value) {
|
|
90
|
+
if (this.nativeElement) {
|
|
91
|
+
this.nativeElement.disabled = value;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Callback function, used for custom evaluations in filter panel.
|
|
95
|
+
* Property type: any
|
|
96
|
+
*/
|
|
97
|
+
get evaluateFilterExpression() {
|
|
98
|
+
return this.nativeElement ? this.nativeElement.evaluateFilterExpression : undefined;
|
|
99
|
+
}
|
|
100
|
+
set evaluateFilterExpression(value) {
|
|
101
|
+
if (this.nativeElement) {
|
|
102
|
+
this.nativeElement.evaluateFilterExpression = value;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Defines which filter type is used.
|
|
106
|
+
* Property type: FilterPanelFilterType | string
|
|
107
|
+
*/
|
|
108
|
+
get filterType() {
|
|
109
|
+
return this.nativeElement ? this.nativeElement.filterType : undefined;
|
|
110
|
+
}
|
|
111
|
+
set filterType(value) {
|
|
112
|
+
if (this.nativeElement) {
|
|
113
|
+
this.nativeElement.filterType = value;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/** Format string used in filterType 'Date'.
|
|
117
|
+
* Property type: string
|
|
118
|
+
*/
|
|
119
|
+
get formatString() {
|
|
120
|
+
return this.nativeElement ? this.nativeElement.formatString : undefined;
|
|
121
|
+
}
|
|
122
|
+
set formatString(value) {
|
|
123
|
+
if (this.nativeElement) {
|
|
124
|
+
this.nativeElement.formatString = value;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/** Sets or gets the language. Used in conjunction with the property messages.
|
|
128
|
+
* Property type: string
|
|
129
|
+
*/
|
|
130
|
+
get locale() {
|
|
131
|
+
return this.nativeElement ? this.nativeElement.locale : undefined;
|
|
132
|
+
}
|
|
133
|
+
set locale(value) {
|
|
134
|
+
if (this.nativeElement) {
|
|
135
|
+
this.nativeElement.locale = value;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** Defines field names of the filtered element.
|
|
139
|
+
* Property type: any
|
|
140
|
+
*/
|
|
141
|
+
get messages() {
|
|
142
|
+
return this.nativeElement ? this.nativeElement.messages : undefined;
|
|
143
|
+
}
|
|
144
|
+
set messages(value) {
|
|
145
|
+
if (this.nativeElement) {
|
|
146
|
+
this.nativeElement.messages = value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/** Desfines filter panel's mode
|
|
150
|
+
* Property type: FilterPanelMode | string
|
|
151
|
+
*/
|
|
152
|
+
get mode() {
|
|
153
|
+
return this.nativeElement ? this.nativeElement.mode : undefined;
|
|
154
|
+
}
|
|
155
|
+
set mode(value) {
|
|
156
|
+
if (this.nativeElement) {
|
|
157
|
+
this.nativeElement.mode = value;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** If the element is readonly, users cannot interact with it.
|
|
161
|
+
* Property type: boolean
|
|
162
|
+
*/
|
|
163
|
+
get readonly() {
|
|
164
|
+
return this.nativeElement ? this.nativeElement.readonly : undefined;
|
|
165
|
+
}
|
|
166
|
+
set readonly(value) {
|
|
167
|
+
if (this.nativeElement) {
|
|
168
|
+
this.nativeElement.readonly = value;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/** Determines the theme. Theme defines the look of the element
|
|
172
|
+
* Property type: string
|
|
173
|
+
*/
|
|
174
|
+
get theme() {
|
|
175
|
+
return this.nativeElement ? this.nativeElement.theme : undefined;
|
|
176
|
+
}
|
|
177
|
+
set theme(value) {
|
|
178
|
+
if (this.nativeElement) {
|
|
179
|
+
this.nativeElement.theme = value;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/** If is set to true, the element cannot be focused.
|
|
183
|
+
* Property type: boolean
|
|
184
|
+
*/
|
|
185
|
+
get unfocusable() {
|
|
186
|
+
return this.nativeElement ? this.nativeElement.unfocusable : undefined;
|
|
187
|
+
}
|
|
188
|
+
set unfocusable(value) {
|
|
189
|
+
if (this.nativeElement) {
|
|
190
|
+
this.nativeElement.unfocusable = value;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Gets the properties of the React component.
|
|
194
|
+
get properties() {
|
|
195
|
+
return ["animation", "buttons", "data", "dataField", "dataSource", "disabled", "evaluateFilterExpression", "filterType", "formatString", "locale", "messages", "mode", "readonly", "theme", "unfocusable"];
|
|
196
|
+
}
|
|
197
|
+
// Gets the events of the React component.
|
|
198
|
+
get eventListeners() {
|
|
199
|
+
return ["onCancel", "onClear", "onFilter", "onCreate", "onReady"];
|
|
200
|
+
}
|
|
201
|
+
/** Discards current filtering.
|
|
202
|
+
*/
|
|
203
|
+
cancel() {
|
|
204
|
+
if (this.nativeElement.isRendered) {
|
|
205
|
+
this.nativeElement.cancel();
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
this.nativeElement.whenRendered(() => {
|
|
209
|
+
this.nativeElement.cancel();
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** Clears current filtering.
|
|
214
|
+
*/
|
|
215
|
+
clear() {
|
|
216
|
+
if (this.nativeElement.isRendered) {
|
|
217
|
+
this.nativeElement.clear();
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
this.nativeElement.whenRendered(() => {
|
|
221
|
+
this.nativeElement.clear();
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/** Evaluates a filter.
|
|
226
|
+
* @param {any} value. The evalueated element in filter panel.
|
|
227
|
+
*/
|
|
228
|
+
evaluate(value) {
|
|
229
|
+
if (this.nativeElement.isRendered) {
|
|
230
|
+
this.nativeElement.evaluate(value);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
this.nativeElement.whenRendered(() => {
|
|
234
|
+
this.nativeElement.evaluate(value);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/** Applies current filtering.
|
|
239
|
+
*/
|
|
240
|
+
filter() {
|
|
241
|
+
if (this.nativeElement.isRendered) {
|
|
242
|
+
this.nativeElement.filter();
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
this.nativeElement.whenRendered(() => {
|
|
246
|
+
this.nativeElement.filter();
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/** Gets the current filter state.
|
|
251
|
+
* @returns {any}
|
|
252
|
+
*/
|
|
253
|
+
getState() {
|
|
254
|
+
const result = this.nativeElement.getState();
|
|
255
|
+
return result;
|
|
256
|
+
}
|
|
257
|
+
/** Loads a previously saved filter state.
|
|
258
|
+
* @param {any} state. An object returned by the method getState.
|
|
259
|
+
*/
|
|
260
|
+
loadState(state) {
|
|
261
|
+
if (this.nativeElement.isRendered) {
|
|
262
|
+
this.nativeElement.loadState(state);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
this.nativeElement.whenRendered(() => {
|
|
266
|
+
this.nativeElement.loadState(state);
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
componentDidRender(initialize) {
|
|
271
|
+
const that = this;
|
|
272
|
+
const props = {};
|
|
273
|
+
const events = {};
|
|
274
|
+
let styles = null;
|
|
275
|
+
for (let prop in that.props) {
|
|
276
|
+
if (prop === 'children') {
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
279
|
+
if (prop === 'style') {
|
|
280
|
+
styles = that.props[prop];
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
283
|
+
if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
|
|
284
|
+
events[prop] = that.props[prop];
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
props[prop] = that.props[prop];
|
|
288
|
+
}
|
|
289
|
+
if (initialize) {
|
|
290
|
+
that.nativeElement = this.componentRef.current;
|
|
291
|
+
}
|
|
292
|
+
for (let prop in props) {
|
|
293
|
+
if (prop === 'class' || prop === 'className') {
|
|
294
|
+
const classNames = props[prop].trim().split(' ');
|
|
295
|
+
for (let className in classNames) {
|
|
296
|
+
if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
|
|
297
|
+
that.nativeElement.classList.add(classNames[className]);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
if (props[prop] !== that.nativeElement[prop]) {
|
|
303
|
+
const normalizeProp = (str) => {
|
|
304
|
+
return str.replace(/-([a-z])/g, function (g) {
|
|
305
|
+
return g[1].toUpperCase();
|
|
306
|
+
});
|
|
307
|
+
};
|
|
308
|
+
if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
|
|
309
|
+
that.nativeElement.setAttribute(prop, '');
|
|
310
|
+
}
|
|
311
|
+
const normalizedProp = normalizeProp(prop);
|
|
312
|
+
that.nativeElement[normalizedProp] = props[prop];
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
for (let eventName in events) {
|
|
316
|
+
that[eventName] = events[eventName];
|
|
317
|
+
that.nativeElement[eventName.toLowerCase()] = events[eventName];
|
|
318
|
+
}
|
|
319
|
+
if (initialize) {
|
|
320
|
+
Smart.Render();
|
|
321
|
+
if (that.onCreate) {
|
|
322
|
+
that.onCreate();
|
|
323
|
+
}
|
|
324
|
+
that.nativeElement.whenRendered(() => {
|
|
325
|
+
if (that.onReady) {
|
|
326
|
+
that.onReady();
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
// setup styles.
|
|
331
|
+
if (styles) {
|
|
332
|
+
for (let styleName in styles) {
|
|
333
|
+
that.nativeElement.style[styleName] = styles[styleName];
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
componentDidMount() {
|
|
338
|
+
this.componentDidRender(true);
|
|
339
|
+
}
|
|
340
|
+
componentDidUpdate() {
|
|
341
|
+
this.componentDidRender(false);
|
|
342
|
+
}
|
|
343
|
+
componentWillUnmount() {
|
|
344
|
+
const that = this;
|
|
345
|
+
if (!that.nativeElement) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
that.nativeElement.whenRenderedCallbacks = [];
|
|
349
|
+
for (let i = 0; i < that.eventListeners.length; i++) {
|
|
350
|
+
const eventName = that.eventListeners[i];
|
|
351
|
+
that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
render() {
|
|
355
|
+
return (React.createElement("smart-filter-panel", { ref: this.componentRef }, this.props.children));
|
|
356
|
+
}
|
|
357
|
+
}
|
|
36
358
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
class FilterPanel extends React.Component {
|
|
42
|
-
constructor(props) {
|
|
43
|
-
super(props);
|
|
44
|
-
this.componentRef = React.createRef();
|
|
45
|
-
}
|
|
46
|
-
// Gets the id of the React component.
|
|
47
|
-
get id() {
|
|
48
|
-
if (!this._id) {
|
|
49
|
-
this._id = 'FilterPanel' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
|
|
50
|
-
}
|
|
51
|
-
return this._id;
|
|
52
|
-
}
|
|
53
|
-
/** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
|
|
54
|
-
* Property type: Animation | string
|
|
55
|
-
*/
|
|
56
|
-
get animation() {
|
|
57
|
-
return this.nativeElement ? this.nativeElement.animation : undefined;
|
|
58
|
-
}
|
|
59
|
-
set animation(value) {
|
|
60
|
-
if (this.nativeElement) {
|
|
61
|
-
this.nativeElement.animation = value;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/** Defines which operation buttons will be shown in the filter panel
|
|
65
|
-
* Property type: string[]
|
|
66
|
-
*/
|
|
67
|
-
get buttons() {
|
|
68
|
-
return this.nativeElement ? this.nativeElement.buttons : undefined;
|
|
69
|
-
}
|
|
70
|
-
set buttons(value) {
|
|
71
|
-
if (this.nativeElement) {
|
|
72
|
-
this.nativeElement.buttons = value;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/** Array in mode: 'excel', determines the data to extract unique filter values from. The expected format of the data is an array of objects with key-value pairs (JSON array)
|
|
76
|
-
* Property type: number[]
|
|
77
|
-
*/
|
|
78
|
-
get data() {
|
|
79
|
-
return this.nativeElement ? this.nativeElement.data : undefined;
|
|
80
|
-
}
|
|
81
|
-
set data(value) {
|
|
82
|
-
if (this.nativeElement) {
|
|
83
|
-
this.nativeElement.data = value;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/** Describes filtered data field.
|
|
87
|
-
* Property type: string
|
|
88
|
-
*/
|
|
89
|
-
get dataField() {
|
|
90
|
-
return this.nativeElement ? this.nativeElement.dataField : undefined;
|
|
91
|
-
}
|
|
92
|
-
set dataField(value) {
|
|
93
|
-
if (this.nativeElement) {
|
|
94
|
-
this.nativeElement.dataField = value;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/** If set to an array, determines a custom collection of filter values to be displayed. If set to a callback function, the user can add custom filter values dynamically to the default filter values (in this case, the evaluateFilterExpression function must also be implemented) .dataSource is only available in mode: 'excel'.
|
|
98
|
-
* Property type: any
|
|
99
|
-
*/
|
|
100
|
-
get dataSource() {
|
|
101
|
-
return this.nativeElement ? this.nativeElement.dataSource : undefined;
|
|
102
|
-
}
|
|
103
|
-
set dataSource(value) {
|
|
104
|
-
if (this.nativeElement) {
|
|
105
|
-
this.nativeElement.dataSource = value;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/** Enables or disables filter panel.
|
|
109
|
-
* Property type: boolean
|
|
110
|
-
*/
|
|
111
|
-
get disabled() {
|
|
112
|
-
return this.nativeElement ? this.nativeElement.disabled : undefined;
|
|
113
|
-
}
|
|
114
|
-
set disabled(value) {
|
|
115
|
-
if (this.nativeElement) {
|
|
116
|
-
this.nativeElement.disabled = value;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/** Callback function, used for custom evaluations in filter panel.
|
|
120
|
-
* Property type: any
|
|
121
|
-
*/
|
|
122
|
-
get evaluateFilterExpression() {
|
|
123
|
-
return this.nativeElement ? this.nativeElement.evaluateFilterExpression : undefined;
|
|
124
|
-
}
|
|
125
|
-
set evaluateFilterExpression(value) {
|
|
126
|
-
if (this.nativeElement) {
|
|
127
|
-
this.nativeElement.evaluateFilterExpression = value;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/** Defines which filter type is used.
|
|
131
|
-
* Property type: FilterPanelFilterType | string
|
|
132
|
-
*/
|
|
133
|
-
get filterType() {
|
|
134
|
-
return this.nativeElement ? this.nativeElement.filterType : undefined;
|
|
135
|
-
}
|
|
136
|
-
set filterType(value) {
|
|
137
|
-
if (this.nativeElement) {
|
|
138
|
-
this.nativeElement.filterType = value;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/** Format string used in filterType 'Date'.
|
|
142
|
-
* Property type: string
|
|
143
|
-
*/
|
|
144
|
-
get formatString() {
|
|
145
|
-
return this.nativeElement ? this.nativeElement.formatString : undefined;
|
|
146
|
-
}
|
|
147
|
-
set formatString(value) {
|
|
148
|
-
if (this.nativeElement) {
|
|
149
|
-
this.nativeElement.formatString = value;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/** Sets or gets the language. Used in conjunction with the property messages.
|
|
153
|
-
* Property type: string
|
|
154
|
-
*/
|
|
155
|
-
get locale() {
|
|
156
|
-
return this.nativeElement ? this.nativeElement.locale : undefined;
|
|
157
|
-
}
|
|
158
|
-
set locale(value) {
|
|
159
|
-
if (this.nativeElement) {
|
|
160
|
-
this.nativeElement.locale = value;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/** Defines field names of the filtered element.
|
|
164
|
-
* Property type: any
|
|
165
|
-
*/
|
|
166
|
-
get messages() {
|
|
167
|
-
return this.nativeElement ? this.nativeElement.messages : undefined;
|
|
168
|
-
}
|
|
169
|
-
set messages(value) {
|
|
170
|
-
if (this.nativeElement) {
|
|
171
|
-
this.nativeElement.messages = value;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/** Desfines filter panel's mode
|
|
175
|
-
* Property type: FilterPanelMode | string
|
|
176
|
-
*/
|
|
177
|
-
get mode() {
|
|
178
|
-
return this.nativeElement ? this.nativeElement.mode : undefined;
|
|
179
|
-
}
|
|
180
|
-
set mode(value) {
|
|
181
|
-
if (this.nativeElement) {
|
|
182
|
-
this.nativeElement.mode = value;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
/** If the element is readonly, users cannot interact with it.
|
|
186
|
-
* Property type: boolean
|
|
187
|
-
*/
|
|
188
|
-
get readonly() {
|
|
189
|
-
return this.nativeElement ? this.nativeElement.readonly : undefined;
|
|
190
|
-
}
|
|
191
|
-
set readonly(value) {
|
|
192
|
-
if (this.nativeElement) {
|
|
193
|
-
this.nativeElement.readonly = value;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/** Determines the theme. Theme defines the look of the element
|
|
197
|
-
* Property type: string
|
|
198
|
-
*/
|
|
199
|
-
get theme() {
|
|
200
|
-
return this.nativeElement ? this.nativeElement.theme : undefined;
|
|
201
|
-
}
|
|
202
|
-
set theme(value) {
|
|
203
|
-
if (this.nativeElement) {
|
|
204
|
-
this.nativeElement.theme = value;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/** If is set to true, the element cannot be focused.
|
|
208
|
-
* Property type: boolean
|
|
209
|
-
*/
|
|
210
|
-
get unfocusable() {
|
|
211
|
-
return this.nativeElement ? this.nativeElement.unfocusable : undefined;
|
|
212
|
-
}
|
|
213
|
-
set unfocusable(value) {
|
|
214
|
-
if (this.nativeElement) {
|
|
215
|
-
this.nativeElement.unfocusable = value;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
// Gets the properties of the React component.
|
|
219
|
-
get properties() {
|
|
220
|
-
return ["animation", "buttons", "data", "dataField", "dataSource", "disabled", "evaluateFilterExpression", "filterType", "formatString", "locale", "messages", "mode", "readonly", "theme", "unfocusable"];
|
|
221
|
-
}
|
|
222
|
-
// Gets the events of the React component.
|
|
223
|
-
get eventListeners() {
|
|
224
|
-
return ["onCancel", "onClear", "onFilter", "onCreate", "onReady"];
|
|
225
|
-
}
|
|
226
|
-
/** Discards current filtering.
|
|
227
|
-
*/
|
|
228
|
-
cancel() {
|
|
229
|
-
if (this.nativeElement.isRendered) {
|
|
230
|
-
this.nativeElement.cancel();
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
this.nativeElement.whenRendered(() => {
|
|
234
|
-
this.nativeElement.cancel();
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
/** Clears current filtering.
|
|
239
|
-
*/
|
|
240
|
-
clear() {
|
|
241
|
-
if (this.nativeElement.isRendered) {
|
|
242
|
-
this.nativeElement.clear();
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
this.nativeElement.whenRendered(() => {
|
|
246
|
-
this.nativeElement.clear();
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/** Evaluates a filter.
|
|
251
|
-
* @param {any} value. The evalueated element in filter panel.
|
|
252
|
-
*/
|
|
253
|
-
evaluate(value) {
|
|
254
|
-
if (this.nativeElement.isRendered) {
|
|
255
|
-
this.nativeElement.evaluate(value);
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
this.nativeElement.whenRendered(() => {
|
|
259
|
-
this.nativeElement.evaluate(value);
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
/** Applies current filtering.
|
|
264
|
-
*/
|
|
265
|
-
filter() {
|
|
266
|
-
if (this.nativeElement.isRendered) {
|
|
267
|
-
this.nativeElement.filter();
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
this.nativeElement.whenRendered(() => {
|
|
271
|
-
this.nativeElement.filter();
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
/** Gets the current filter state.
|
|
276
|
-
* @returns {any}
|
|
277
|
-
*/
|
|
278
|
-
getState() {
|
|
279
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
280
|
-
const getResultOnRender = () => {
|
|
281
|
-
return new Promise(resolve => {
|
|
282
|
-
this.nativeElement.whenRendered(() => {
|
|
283
|
-
const result = this.nativeElement.getState();
|
|
284
|
-
resolve(result);
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
};
|
|
288
|
-
const result = yield getResultOnRender();
|
|
289
|
-
return result;
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
/** Loads a previously saved filter state.
|
|
293
|
-
* @param {any} state. An object returned by the method getState.
|
|
294
|
-
*/
|
|
295
|
-
loadState(state) {
|
|
296
|
-
if (this.nativeElement.isRendered) {
|
|
297
|
-
this.nativeElement.loadState(state);
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
this.nativeElement.whenRendered(() => {
|
|
301
|
-
this.nativeElement.loadState(state);
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
componentDidRender(initialize) {
|
|
306
|
-
const that = this;
|
|
307
|
-
const props = {};
|
|
308
|
-
const events = {};
|
|
309
|
-
let styles = null;
|
|
310
|
-
for (let prop in that.props) {
|
|
311
|
-
if (prop === 'children') {
|
|
312
|
-
continue;
|
|
313
|
-
}
|
|
314
|
-
if (prop === 'style') {
|
|
315
|
-
styles = that.props[prop];
|
|
316
|
-
continue;
|
|
317
|
-
}
|
|
318
|
-
if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
|
|
319
|
-
events[prop] = that.props[prop];
|
|
320
|
-
continue;
|
|
321
|
-
}
|
|
322
|
-
props[prop] = that.props[prop];
|
|
323
|
-
}
|
|
324
|
-
if (initialize) {
|
|
325
|
-
that.nativeElement = this.componentRef.current;
|
|
326
|
-
}
|
|
327
|
-
for (let prop in props) {
|
|
328
|
-
if (prop === 'class' || prop === 'className') {
|
|
329
|
-
const classNames = props[prop].trim().split(' ');
|
|
330
|
-
for (let className in classNames) {
|
|
331
|
-
if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
|
|
332
|
-
that.nativeElement.classList.add(classNames[className]);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
continue;
|
|
336
|
-
}
|
|
337
|
-
if (props[prop] !== that.nativeElement[prop]) {
|
|
338
|
-
const normalizeProp = (str) => {
|
|
339
|
-
return str.replace(/-([a-z])/g, function (g) {
|
|
340
|
-
return g[1].toUpperCase();
|
|
341
|
-
});
|
|
342
|
-
};
|
|
343
|
-
if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
|
|
344
|
-
that.nativeElement.setAttribute(prop, '');
|
|
345
|
-
}
|
|
346
|
-
const normalizedProp = normalizeProp(prop);
|
|
347
|
-
that.nativeElement[normalizedProp] = props[prop];
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
for (let eventName in events) {
|
|
351
|
-
that[eventName] = events[eventName];
|
|
352
|
-
that.nativeElement[eventName.toLowerCase()] = events[eventName];
|
|
353
|
-
}
|
|
354
|
-
if (initialize) {
|
|
355
|
-
Smart.Render();
|
|
356
|
-
if (that.onCreate) {
|
|
357
|
-
that.onCreate();
|
|
358
|
-
}
|
|
359
|
-
that.nativeElement.whenRendered(() => {
|
|
360
|
-
if (that.onReady) {
|
|
361
|
-
that.onReady();
|
|
362
|
-
}
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
// setup styles.
|
|
366
|
-
if (styles) {
|
|
367
|
-
for (let styleName in styles) {
|
|
368
|
-
that.nativeElement.style[styleName] = styles[styleName];
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
componentDidMount() {
|
|
373
|
-
this.componentDidRender(true);
|
|
374
|
-
}
|
|
375
|
-
componentDidUpdate() {
|
|
376
|
-
this.componentDidRender(false);
|
|
377
|
-
}
|
|
378
|
-
componentWillUnmount() {
|
|
379
|
-
const that = this;
|
|
380
|
-
if (!that.nativeElement) {
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
that.nativeElement.whenRenderedCallbacks = [];
|
|
384
|
-
for (let i = 0; i < that.eventListeners.length; i++) {
|
|
385
|
-
const eventName = that.eventListeners[i];
|
|
386
|
-
that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
render() {
|
|
390
|
-
return (React.createElement("smart-filter-panel", { ref: this.componentRef }, this.props.children));
|
|
391
|
-
}
|
|
392
|
-
}
|
|
359
|
+
exports.Smart = Smart;
|
|
360
|
+
exports.FilterPanel = FilterPanel;
|
|
361
|
+
exports.default = FilterPanel;
|
|
393
362
|
|
|
394
|
-
|
|
395
|
-
exports.FilterPanel = FilterPanel;
|
|
396
|
-
exports.default = FilterPanel;
|
|
397
|
-
|
|
398
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
363
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
399
364
|
|
|
400
365
|
})));
|