/* * Copyright [2021] [wisemapping] * * Licensed under WiseMapping Public License, Version 1.0 (the "License"). * It is basically the Apache License, Version 2.0 (the "License") plus the * "powered by wisemapping" text requirement on every single page; * you may not use this file except in compliance with the License. * You may obtain a copy of the license at * * http://www.wisemapping.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import $ from 'jquery'; import Options from '@wisemapping/mindplot/src/components/Options'; import { $msg } from '@wisemapping/mindplot/src/components/Messages'; class BootstrapDialog extends Options { constructor(title, options) { super(); this.options = { cancelButton: false, closeButton: false, acceptButton: true, removeButton: false, errorMessage: false, onEventData: {}, }; this.setOptions(options); this.options.onEventData.dialog = this; this._native = $('
').append( '', ); const content = $(''); const header = this._buildHeader(title); if (header) { content.append(header); } const body = $(''); if (this.options.errorMessage) { const error = $(''); error.hide(); body.append(error); } content.append(body); const footer = this._buildFooter(); if (footer) { content.append(footer); } this._native.find('.modal-dialog').append(content); this._native.on('hidden.bs.modal', function remove() { $(this).remove(); }); this._native.on('shown.bs.modal', this.onDialogShown); this._native.appendTo('#mindplot-tooltips'); } _buildFooter() { let footer = null; if (this.options.acceptButton || this.options.removeButton || this.options.cancelButton) { footer = $('