UNPKG

@future-grid/fgp-graph

Version:

fgp-graph is a chart lib based on Dygraphs

76 lines (62 loc) 8.79 kB
"use strict"; 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