mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-06-26 01:10:14 +02:00
123 lines
4.3 KiB
JavaScript
123 lines
4.3 KiB
JavaScript
define(["exports", "../dom", "../event"], function (exports, _dom, _event) {
|
|
"use strict";
|
|
|
|
var _prototypeProperties = function (child, staticProps, instanceProps) { if (staticProps) Object.defineProperties(child, staticProps); if (instanceProps) Object.defineProperties(child.prototype, instanceProps); };
|
|
|
|
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
|
|
|
|
var Dom = _dom.Dom;
|
|
var Event = _event.Event;
|
|
|
|
var ClearButton = exports.ClearButton = (function () {
|
|
|
|
/**
|
|
* Clear button component
|
|
* @param {Object} tf TableFilter instance
|
|
*/
|
|
|
|
function ClearButton(tf) {
|
|
_classCallCheck(this, ClearButton);
|
|
|
|
// Configuration object
|
|
var f = tf.config();
|
|
|
|
//id of container element
|
|
this.btnResetTgtId = f.btn_reset_target_id || null;
|
|
//reset button element
|
|
this.btnResetEl = null;
|
|
//defines reset text
|
|
this.btnResetText = f.btn_reset_text || "Reset";
|
|
//defines reset button tooltip
|
|
this.btnResetTooltip = f.btn_reset_tooltip || "Clear filters";
|
|
//defines reset button innerHtml
|
|
this.btnResetHtml = f.btn_reset_html || (!tf.enableIcons ? null : "<input type=\"button\" value=\"\" class=\"" + tf.btnResetCssClass + "\" " + "title=\"" + this.btnResetTooltip + "\" />");
|
|
|
|
this.tf = tf;
|
|
}
|
|
|
|
_prototypeProperties(ClearButton, null, {
|
|
onClick: {
|
|
value: function onClick() {
|
|
this.tf.clearFilters();
|
|
},
|
|
writable: true,
|
|
configurable: true
|
|
},
|
|
init: {
|
|
|
|
/**
|
|
* Build DOM elements
|
|
*/
|
|
|
|
value: function init() {
|
|
var _this = this;
|
|
|
|
var tf = this.tf;
|
|
|
|
if (!tf.hasGrid() && !tf.isFirstLoad && tf.btnResetEl) {
|
|
return;
|
|
}
|
|
|
|
var resetspan = Dom.create("span", ["id", tf.prfxResetSpan + tf.id]);
|
|
|
|
// reset button is added to defined element
|
|
if (!this.btnResetTgtId) {
|
|
tf.setToolbar();
|
|
}
|
|
var targetEl = !this.btnResetTgtId ? tf.rDiv : Dom.id(this.btnResetTgtId);
|
|
targetEl.appendChild(resetspan);
|
|
|
|
if (!this.btnResetHtml) {
|
|
var fltreset = Dom.create("a", ["href", "javascript:void(0);"]);
|
|
fltreset.className = tf.btnResetCssClass;
|
|
fltreset.appendChild(Dom.text(this.btnResetText));
|
|
resetspan.appendChild(fltreset);
|
|
// fltreset.onclick = this.Evt._Clear;
|
|
Event.add(fltreset, "click", function () {
|
|
_this.onClick();
|
|
});
|
|
} else {
|
|
resetspan.innerHTML = this.btnResetHtml;
|
|
var resetEl = resetspan.firstChild;
|
|
// resetEl.onclick = this.Evt._Clear;
|
|
Event.add(resetEl, "click", function () {
|
|
_this.onClick();
|
|
});
|
|
}
|
|
this.btnResetEl = resetspan.firstChild;
|
|
},
|
|
writable: true,
|
|
configurable: true
|
|
},
|
|
destroy: {
|
|
|
|
/**
|
|
* Remove clear button UI
|
|
*/
|
|
|
|
value: function destroy() {
|
|
var tf = this.tf;
|
|
|
|
if (!tf.hasGrid() || !this.btnResetEl) {
|
|
return;
|
|
}
|
|
|
|
var resetspan = Dom.id(tf.prfxResetSpan + tf.id);
|
|
if (resetspan) {
|
|
resetspan.parentNode.removeChild(resetspan);
|
|
}
|
|
this.btnResetEl = null;
|
|
},
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
|
|
return ClearButton;
|
|
})();
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
});
|
|
//# sourceMappingURL=clearButton.js.map
|