raimund@548: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
raimund@548: * Software engineering by Intevation GmbH
raimund@548: *
raimund@548: * This file is Free Software under the GNU GPL (v>=3)
raimund@548: * and comes with ABSOLUTELY NO WARRANTY! Check out
raimund@548: * the documentation coming with IMIS-Labordaten-Application for details.
raimund@548: */
raimund@548:
dustin@892: /**
dustin@892: * This Widget extends a Fieldset
dustin@892: */
raimund@548: Ext.define('Lada.view.widget.base.FieldSet', {
raimund@548: extend: 'Ext.form.FieldSet',
raimund@548: alias: 'widget.fset',
raimund@548:
raimund@548: plainTitle: '',
raimund@548: origColor: '',
raimund@633: errorText: '',
raimund@633: warningText: '',
dustin@717: tooltip: null,
raimund@548:
raimund@548: showWarningOrError: function(warning, warningText, error, errorText) {
dustin@717: this.clearMessages(); //Clear Errors and Warning first
raimund@633: if (this.errorText && this.errorText !== '') {
raimund@633: this.errorText += '\n';
raimund@633: }
raimund@633: this.errorText += errorText;
raimund@633: if (this.warningText && this.warningText !== '') {
raimund@633: this.warningText += '\n';
raimund@633: }
raimund@633: this.warningText += warningText;
tom@1193:
tom@1193: if (this.title) {
tom@1193: this.plainTitle = this.title;
tom@1193: }
raimund@548: this.origColor = this.getEl().dom.style['border-color'];
dustin@720: var imgId = Ext.id();
raimund@548: if (error) {
raimund@548: this.getEl().dom.style['border-color'] = '#FF0000';
dustin@720: this.setTitle(' '+
dustin@720: this.plainTitle);
raimund@548: if (errorText) {
dustin@717: if (!this.tooltip) {
dustin@717: Ext.create('Ext.tip.ToolTip', {
dustin@720: target: imgId,
dustin@717: html: errorText
dustin@717: });
dustin@717: }
dustin@717: else {
dustin@717: tooltip.html = errorText;
dustin@717: }
raimund@548: }
raimund@548: return;
raimund@548: }
raimund@548: if (warning) {
raimund@548: this.getEl().dom.style['border-color'] = '#FFE25D';
dustin@720: this.setTitle(' '+
dustin@720: this.plainTitle);
raimund@548: if (warningText) {
dustin@717: if (!this.tooltip) {
dustin@717: Ext.create('Ext.tip.ToolTip', {
dustin@720: target: Ext.get(imgId),
dustin@717: html: warningText
dustin@717: });
dustin@717: }
dustin@717: else {
dustin@717: tooltip.html = warningText;
dustin@717: }
raimund@548: }
raimund@548: return;
raimund@548: }
raimund@548: },
raimund@548:
raimund@548: clearMessages: function() {
ehuber@1382: if (this.plainTitle){
ehuber@1382: this.setTitle(this.plainTitle);
ehuber@1382: }
tom@1201: if (this.getEl()) {
tom@1201: this.getEl().dom.style['border-color'] = this.origColor;
tom@1201: }
raimund@548: }
raimund@548: });