dattatable 2.1.8 → 2.1.9
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.
|
@@ -9,6 +9,7 @@ var canvas_1 = require("../common/canvas");
|
|
|
9
9
|
var FilterSlideout = /** @class */ (function () {
|
|
10
10
|
function FilterSlideout(props) {
|
|
11
11
|
this._cbs = null;
|
|
12
|
+
this._clearFl = false;
|
|
12
13
|
this._el = null;
|
|
13
14
|
this._filters = null;
|
|
14
15
|
this._items = null;
|
|
@@ -35,6 +36,15 @@ var FilterSlideout = /** @class */ (function () {
|
|
|
35
36
|
text: "Clear Filters",
|
|
36
37
|
type: gd_sprest_bs_1.Components.ButtonTypes.OutlineDanger,
|
|
37
38
|
onClick: function () {
|
|
39
|
+
// Set the flag
|
|
40
|
+
_this._clearFl = true;
|
|
41
|
+
// Parse the filters
|
|
42
|
+
for (var i = 0; i < _this._cbs.length; i++) {
|
|
43
|
+
// Clear the filter
|
|
44
|
+
_this._cbs[i].setValue("");
|
|
45
|
+
}
|
|
46
|
+
// Clear the flag
|
|
47
|
+
_this._clearFl = false;
|
|
38
48
|
// Execute the event
|
|
39
49
|
_this._onClear ? _this._onClear() : null;
|
|
40
50
|
}
|
|
@@ -76,13 +86,19 @@ var FilterSlideout = /** @class */ (function () {
|
|
|
76
86
|
// Append the value
|
|
77
87
|
values.push(items[i].label);
|
|
78
88
|
}
|
|
79
|
-
//
|
|
80
|
-
|
|
89
|
+
// Ensure the clear button wasn't clicked
|
|
90
|
+
if (!_this._clearFl) {
|
|
91
|
+
// Execute the event
|
|
92
|
+
filter.onFilter ? filter.onFilter(values) : null;
|
|
93
|
+
}
|
|
81
94
|
}
|
|
82
95
|
else {
|
|
83
96
|
var item_1 = value;
|
|
84
|
-
//
|
|
85
|
-
|
|
97
|
+
// Ensure the clear button wasn't clicked
|
|
98
|
+
if (!_this._clearFl) {
|
|
99
|
+
// Execute the event
|
|
100
|
+
filter.onFilter ? filter.onFilter(item_1 ? item_1.label : "") : null;
|
|
101
|
+
}
|
|
86
102
|
}
|
|
87
103
|
}
|
|
88
104
|
}));
|
package/dist/dattatable.js
CHANGED
|
@@ -93,7 +93,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
|
|
|
93
93
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
94
94
|
|
|
95
95
|
"use strict";
|
|
96
|
-
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.FilterSlideout = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.8.5/node_modules/gd-sprest-bs/build/index.js\");\r\nvar canvas_1 = __webpack_require__(/*! ../common/canvas */ \"./build/common/canvas.js\");\r\n/**\r\n * Filter Slideout\r\n */\r\nvar FilterSlideout = /** @class */ (function () {\r\n function FilterSlideout(props) {\r\n this._cbs = null;\r\n this._el = null;\r\n this._filters = null;\r\n this._items = null;\r\n // Save the properties\r\n this._filters = props.filters || [];\r\n this._onClear = props.onClear;\r\n // Initialize the variables\r\n this._cbs = [];\r\n this._items = [];\r\n // Generate the items\r\n this.generateFilters();\r\n // Call the render event\r\n props.onRendered ? props.onRendered(this._el) : null;\r\n }\r\n // Generates the filters\r\n FilterSlideout.prototype.generateFilters = function () {\r\n var _this = this;\r\n // Create the filters element\r\n this._el = document.createElement(\"div\");\r\n // Render a clear button\r\n gd_sprest_bs_1.Components.Button({\r\n el: this._el,\r\n className: \"mb-3\",\r\n text: \"Clear Filters\",\r\n type: gd_sprest_bs_1.Components.ButtonTypes.OutlineDanger,\r\n onClick: function () {\r\n // Execute the event\r\n _this._onClear ? _this._onClear() : null;\r\n }\r\n });\r\n // Parse the filters\r\n for (var i = 0; i < this._filters.length; i++) {\r\n var filter = this._filters[i];\r\n // Add the filter\r\n this._items.push(this.generateItem(filter));\r\n }\r\n // Default the first filter to be displayed\r\n this._items.length > 0 ? this._items[0].showFl = true : null;\r\n // Render an accordion\r\n gd_sprest_bs_1.Components.Accordion({\r\n el: this._el,\r\n items: this._items\r\n });\r\n };\r\n // Generates the navigation dropdown items\r\n FilterSlideout.prototype.generateItem = function (filter) {\r\n var _this = this;\r\n // Create the item\r\n var item = {\r\n header: filter.header,\r\n onRender: function (el) {\r\n // Render the checkbox group\r\n _this._cbs.push(gd_sprest_bs_1.Components.CheckboxGroup({\r\n el: el,\r\n items: filter.items,\r\n multi: filter.multi,\r\n type: gd_sprest_bs_1.Components.CheckboxGroupTypes.Switch,\r\n onChange: function (value) {\r\n // See if this is a single item\r\n if (filter.multi) {\r\n var values = [];\r\n // Parse the items\r\n var items = (value || []);\r\n for (var i = 0; i < items.length; i++) {\r\n // Append the value\r\n values.push(items[i].label);\r\n }\r\n // Execute the event\r\n
|
|
96
|
+
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.FilterSlideout = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.8.5/node_modules/gd-sprest-bs/build/index.js\");\r\nvar canvas_1 = __webpack_require__(/*! ../common/canvas */ \"./build/common/canvas.js\");\r\n/**\r\n * Filter Slideout\r\n */\r\nvar FilterSlideout = /** @class */ (function () {\r\n function FilterSlideout(props) {\r\n this._cbs = null;\r\n this._clearFl = false;\r\n this._el = null;\r\n this._filters = null;\r\n this._items = null;\r\n // Save the properties\r\n this._filters = props.filters || [];\r\n this._onClear = props.onClear;\r\n // Initialize the variables\r\n this._cbs = [];\r\n this._items = [];\r\n // Generate the items\r\n this.generateFilters();\r\n // Call the render event\r\n props.onRendered ? props.onRendered(this._el) : null;\r\n }\r\n // Generates the filters\r\n FilterSlideout.prototype.generateFilters = function () {\r\n var _this = this;\r\n // Create the filters element\r\n this._el = document.createElement(\"div\");\r\n // Render a clear button\r\n gd_sprest_bs_1.Components.Button({\r\n el: this._el,\r\n className: \"mb-3\",\r\n text: \"Clear Filters\",\r\n type: gd_sprest_bs_1.Components.ButtonTypes.OutlineDanger,\r\n onClick: function () {\r\n // Set the flag\r\n _this._clearFl = true;\r\n // Parse the filters\r\n for (var i = 0; i < _this._cbs.length; i++) {\r\n // Clear the filter\r\n _this._cbs[i].setValue(\"\");\r\n }\r\n // Clear the flag\r\n _this._clearFl = false;\r\n // Execute the event\r\n _this._onClear ? _this._onClear() : null;\r\n }\r\n });\r\n // Parse the filters\r\n for (var i = 0; i < this._filters.length; i++) {\r\n var filter = this._filters[i];\r\n // Add the filter\r\n this._items.push(this.generateItem(filter));\r\n }\r\n // Default the first filter to be displayed\r\n this._items.length > 0 ? this._items[0].showFl = true : null;\r\n // Render an accordion\r\n gd_sprest_bs_1.Components.Accordion({\r\n el: this._el,\r\n items: this._items\r\n });\r\n };\r\n // Generates the navigation dropdown items\r\n FilterSlideout.prototype.generateItem = function (filter) {\r\n var _this = this;\r\n // Create the item\r\n var item = {\r\n header: filter.header,\r\n onRender: function (el) {\r\n // Render the checkbox group\r\n _this._cbs.push(gd_sprest_bs_1.Components.CheckboxGroup({\r\n el: el,\r\n items: filter.items,\r\n multi: filter.multi,\r\n type: gd_sprest_bs_1.Components.CheckboxGroupTypes.Switch,\r\n onChange: function (value) {\r\n // See if this is a single item\r\n if (filter.multi) {\r\n var values = [];\r\n // Parse the items\r\n var items = (value || []);\r\n for (var i = 0; i < items.length; i++) {\r\n // Append the value\r\n values.push(items[i].label);\r\n }\r\n // Ensure the clear button wasn't clicked\r\n if (!_this._clearFl) {\r\n // Execute the event\r\n filter.onFilter ? filter.onFilter(values) : null;\r\n }\r\n }\r\n else {\r\n var item_1 = value;\r\n // Ensure the clear button wasn't clicked\r\n if (!_this._clearFl) {\r\n // Execute the event\r\n filter.onFilter ? filter.onFilter(item_1 ? item_1.label : \"\") : null;\r\n }\r\n }\r\n }\r\n }));\r\n }\r\n };\r\n // Return the item\r\n return item;\r\n };\r\n // Gets a checkbox group by its name\r\n FilterSlideout.prototype.getFilter = function (key) {\r\n // Parse the items\r\n for (var i = 0; i < this._items.length; i++) {\r\n var item = this._items[i];\r\n // See if this is the target\r\n if (item.header == key) {\r\n // Return the checkbox\r\n return this._cbs[i];\r\n }\r\n }\r\n // Not found\r\n return null;\r\n };\r\n // Sets a checkbox group filter\r\n FilterSlideout.prototype.setFilterValue = function (key, value) {\r\n // Get the filter\r\n var filter = this.getFilter(key);\r\n if (filter) {\r\n // Set the value\r\n filter.setValue(value);\r\n }\r\n };\r\n // Hides the filter\r\n FilterSlideout.prototype.hide = function () { canvas_1.CanvasForm.hide(); };\r\n // Shows the filters\r\n FilterSlideout.prototype.show = function () {\r\n // Set the header and body\r\n canvas_1.CanvasForm.setHeader('<h5 class=\"m-0\">Filters</h5>');\r\n canvas_1.CanvasForm.setBody(this._el || \"<p>Loading the Filters...</p>\");\r\n // Show the filters\r\n canvas_1.CanvasForm.show();\r\n };\r\n return FilterSlideout;\r\n}());\r\nexports.FilterSlideout = FilterSlideout;\r\n\n\n//# sourceURL=webpack://dattatable/./build/dashboard/filter.js?");
|
|
97
97
|
|
|
98
98
|
/***/ }),
|
|
99
99
|
|