@future-grid/fgp-graph
Version:
fgp-graph is a chart lib based on Dygraphs
76 lines (62 loc) • 8.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var Extra = function Extra(parentElement, viewConfig) {
var _this = this;
_classCallCheck(this, Extra);
this.parentElement = parentElement;
this.viewConfig = viewConfig;
_defineProperty(this, "initDom", function () {
var extra = document.createElement("div");
extra.setAttribute("class", "fgp-toolbar-area");
var toolbarConfig = _this.viewConfig.graphConfig.features.toolbar;
if (toolbarConfig) {
// buttons
if (toolbarConfig.buttons) {
// add div first
var buttonContainer = document.createElement('div');
buttonContainer.setAttribute("class", "fgp-extra-buttons");
toolbarConfig.buttons.forEach(function (btn) {
//
var button = document.createElement("button");
button.className = "fgp-toolbar-button";
button.textContent = btn.label;
button.addEventListener('click', function (event) {
//
btn.func(btn.prop);
});
buttonContainer.appendChild(button);
});
extra.appendChild(buttonContainer);
} // drops
if (toolbarConfig.dropdown) {
toolbarConfig.dropdown.forEach(function (dropdown) {
var drop = document.createElement("select");
drop.setAttribute("class", "fgp-toolbar-dropdown"); // options
dropdown.forEach(function (_config) {
var option = document.createElement("option");
option.text = _config.label;
drop.append(option);
});
drop.addEventListener("change", function (e) {
//
dropdown.forEach(function (_config) {
if (_config.label === drop.value) {
_config.func(_config.prop);
}
});
});
extra.appendChild(drop);
});
}
}
_this.parentElement.appendChild(extra);
});
this.initDom();
};
exports["default"] = Extra;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leHRyYXMvdG9vbGJhci93aWRnZXRzL0V4dHJhLnRzIl0sIm5hbWVzIjpbIkV4dHJhIiwicGFyZW50RWxlbWVudCIsInZpZXdDb25maWciLCJleHRyYSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsInRvb2xiYXJDb25maWciLCJncmFwaENvbmZpZyIsImZlYXR1cmVzIiwidG9vbGJhciIsImJ1dHRvbnMiLCJidXR0b25Db250YWluZXIiLCJmb3JFYWNoIiwiYnRuIiwiYnV0dG9uIiwiY2xhc3NOYW1lIiwidGV4dENvbnRlbnQiLCJsYWJlbCIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsImZ1bmMiLCJwcm9wIiwiYXBwZW5kQ2hpbGQiLCJkcm9wZG93biIsImRyb3AiLCJfY29uZmlnIiwib3B0aW9uIiwidGV4dCIsImFwcGVuZCIsImUiLCJ2YWx1ZSIsImluaXREb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBRXFCQSxLLEdBRWpCLGVBQW1CQyxhQUFuQixFQUFrREMsVUFBbEQsRUFBMEU7QUFBQTs7QUFBQTs7QUFBQSxPQUF2REQsYUFBdUQsR0FBdkRBLGFBQXVEO0FBQUEsT0FBeEJDLFVBQXdCLEdBQXhCQSxVQUF3Qjs7QUFBQSxtQ0FLeEQsWUFBTTtBQUNwQixRQUFNQyxLQUFLLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixLQUF2QixDQUFkO0FBQ0FGLElBQUFBLEtBQUssQ0FBQ0csWUFBTixDQUFtQixPQUFuQixFQUE0QixrQkFBNUI7QUFFQSxRQUFNQyxhQUFhLEdBQUcsS0FBSSxDQUFDTCxVQUFMLENBQWdCTSxXQUFoQixDQUE0QkMsUUFBNUIsQ0FBcUNDLE9BQTNEOztBQUVBLFFBQUlILGFBQUosRUFBbUI7QUFDZjtBQUNBLFVBQUlBLGFBQWEsQ0FBQ0ksT0FBbEIsRUFBMkI7QUFDdkI7QUFDQSxZQUFNQyxlQUFlLEdBQUdSLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixLQUF2QixDQUF4QjtBQUNBTyxRQUFBQSxlQUFlLENBQUNOLFlBQWhCLENBQTZCLE9BQTdCLEVBQXNDLG1CQUF0QztBQUVBQyxRQUFBQSxhQUFhLENBQUNJLE9BQWQsQ0FBc0JFLE9BQXRCLENBQThCLFVBQUFDLEdBQUcsRUFBSTtBQUNqQztBQUNBLGNBQUlDLE1BQXVCLEdBQUdYLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixRQUF2QixDQUE5QjtBQUNBVSxVQUFBQSxNQUFNLENBQUNDLFNBQVAsR0FBbUIsb0JBQW5CO0FBQ0FELFVBQUFBLE1BQU0sQ0FBQ0UsV0FBUCxHQUFxQkgsR0FBRyxDQUFDSSxLQUF6QjtBQUNBSCxVQUFBQSxNQUFNLENBQUNJLGdCQUFQLENBQXdCLE9BQXhCLEVBQWlDLFVBQUNDLEtBQUQsRUFBVztBQUN4QztBQUNBTixZQUFBQSxHQUFHLENBQUNPLElBQUosQ0FBU1AsR0FBRyxDQUFDUSxJQUFiO0FBQ0gsV0FIRDtBQUlBVixVQUFBQSxlQUFlLENBQUNXLFdBQWhCLENBQTRCUixNQUE1QjtBQUNILFNBVkQ7QUFZQVosUUFBQUEsS0FBSyxDQUFDb0IsV0FBTixDQUFrQlgsZUFBbEI7QUFDSCxPQXBCYyxDQXNCZjs7O0FBQ0EsVUFBSUwsYUFBYSxDQUFDaUIsUUFBbEIsRUFBNEI7QUFDeEJqQixRQUFBQSxhQUFhLENBQUNpQixRQUFkLENBQXVCWCxPQUF2QixDQUErQixVQUFBVyxRQUFRLEVBQUk7QUFDdkMsY0FBTUMsSUFBSSxHQUFHckIsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBQWI7QUFDQW9CLFVBQUFBLElBQUksQ0FBQ25CLFlBQUwsQ0FBa0IsT0FBbEIsRUFBMkIsc0JBQTNCLEVBRnVDLENBR3ZDOztBQUNBa0IsVUFBQUEsUUFBUSxDQUFDWCxPQUFULENBQWlCLFVBQUFhLE9BQU8sRUFBSTtBQUN4QixnQkFBTUMsTUFBTSxHQUFHdkIsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBQWY7QUFDQXNCLFlBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxHQUFjRixPQUFPLENBQUNSLEtBQXRCO0FBQ0FPLFlBQUFBLElBQUksQ0FBQ0ksTUFBTCxDQUFZRixNQUFaO0FBQ0gsV0FKRDtBQUtBRixVQUFBQSxJQUFJLENBQUNOLGdCQUFMLENBQXNCLFFBQXRCLEVBQWdDLFVBQUNXLENBQUQsRUFBYztBQUMxQztBQUNBTixZQUFBQSxRQUFRLENBQUNYLE9BQVQsQ0FBaUIsVUFBQWEsT0FBTyxFQUFJO0FBQ3hCLGtCQUFHQSxPQUFPLENBQUNSLEtBQVIsS0FBa0JPLElBQUksQ0FBQ00sS0FBMUIsRUFBZ0M7QUFDNUJMLGdCQUFBQSxPQUFPLENBQUNMLElBQVIsQ0FBYUssT0FBTyxDQUFDSixJQUFyQjtBQUNIO0FBQ0osYUFKRDtBQUtILFdBUEQ7QUFTQW5CLFVBQUFBLEtBQUssQ0FBQ29CLFdBQU4sQ0FBa0JFLElBQWxCO0FBQ0gsU0FuQkQ7QUFxQkg7QUFDSjs7QUFHRCxJQUFBLEtBQUksQ0FBQ3hCLGFBQUwsQ0FBbUJzQixXQUFuQixDQUErQnBCLEtBQS9CO0FBQ0gsR0E3RHlFOztBQUN0RSxPQUFLNkIsT0FBTDtBQUNILEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Rvb2xiYXJDb25maWcsIFZpZXdDb25maWd9IGZyb20gXCIuLi8uLi8uLi9tZXRhZGF0YS9jb25maWd1cmF0aW9uc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeHRyYSB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50RWxlbWVudDogRWxlbWVudCwgcHVibGljIHZpZXdDb25maWc6IFZpZXdDb25maWcpIHtcbiAgICAgICAgdGhpcy5pbml0RG9tKCk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGluaXREb20gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4dHJhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgZXh0cmEuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgXCJmZ3AtdG9vbGJhci1hcmVhXCIpO1xuXG4gICAgICAgIGNvbnN0IHRvb2xiYXJDb25maWcgPSB0aGlzLnZpZXdDb25maWcuZ3JhcGhDb25maWcuZmVhdHVyZXMudG9vbGJhcjtcblxuICAgICAgICBpZiAodG9vbGJhckNvbmZpZykge1xuICAgICAgICAgICAgLy8gYnV0dG9uc1xuICAgICAgICAgICAgaWYgKHRvb2xiYXJDb25maWcuYnV0dG9ucykge1xuICAgICAgICAgICAgICAgIC8vIGFkZCBkaXYgZmlyc3RcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBidXR0b25Db250YWluZXIuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgXCJmZ3AtZXh0cmEtYnV0dG9uc1wiKTtcblxuICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuYnV0dG9ucy5mb3JFYWNoKGJ0biA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgIGxldCBidXR0b246IEhUTUxTcGFuRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5jbGFzc05hbWUgPSBcImZncC10b29sYmFyLWJ1dHRvblwiO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSBidG4ubGFiZWw7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5mdW5jKGJ0bi5wcm9wKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChidXR0b24pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kQ2hpbGQoYnV0dG9uQ29udGFpbmVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZHJvcHNcbiAgICAgICAgICAgIGlmICh0b29sYmFyQ29uZmlnLmRyb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5kcm9wZG93bi5mb3JFYWNoKGRyb3Bkb3duID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIik7XG4gICAgICAgICAgICAgICAgICAgIGRyb3Auc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgXCJmZ3AtdG9vbGJhci1kcm9wZG93blwiKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gb3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICBkcm9wZG93bi5mb3JFYWNoKF9jb25maWcgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi50ZXh0ID0gX2NvbmZpZy5sYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3AuYXBwZW5kKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBkcm9wLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaChfY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihfY29uZmlnLmxhYmVsID09PSBkcm9wLnZhbHVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbmZpZy5mdW5jKF9jb25maWcucHJvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZENoaWxkKGRyb3ApO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMucGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChleHRyYSk7XG4gICAgfTtcblxuXG59Il19