Skip to content
Code-Schnipsel Gruppen Projekte
Bestätigt Commit e3b368a5 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

fix: TypeError: Cannot read properties of null

Übergeordneter 8bbc797e
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -20,7 +20,7 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
], function (QUI, QUILoader, QUIControl, QUILocale, Mustache, QUIAjax, template) {
"use strict";
var lg = 'quiqqer/erp';
const lg = 'quiqqer/erp';
return new Class({
......@@ -37,8 +37,8 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
initialize: function (options) {
this.parent(options);
this.Loader = new QUILoader();
this.$Input = null;
this.Loader = new QUILoader();
this.$Input = null;
this.$templateSelects = [];
this.addEvents({
......@@ -50,27 +50,25 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
* @event: on import
*/
$onImport: function () {
var self = this;
this.$Input = this.getElm();
this.$Input = this.getElm();
this.$Input.type = 'hidden';
var Content = new Element('div', {
const Content = new Element('div', {
'class': 'quiqqer-erp-settings-output-templates'
}).inject(this.$Input, 'before');
this.Loader.inject(Content);
this.Loader.show();
this.$getTemplates().then(function (templates) {
self.Loader.hide();
this.$getTemplates().then((templates) => {
this.Loader.hide();
var Templates = {};
var entityType;
const Templates = {};
let entityType, Template;
// Parse templates by entity type
for (var i = 0, len = templates.length; i < len; i++) {
var Template = templates[i];
for (let i = 0, len = templates.length; i < len; i++) {
Template = templates[i];
if (!(Template.entityType in Templates)) {
Templates[Template.entityType] = {
......@@ -83,7 +81,7 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
Templates[Template.entityType].outputTemplates.push(Template);
}
var renderTemplates = [];
const renderTemplates = [];
for (entityType in Templates) {
renderTemplates.push({
......@@ -94,33 +92,32 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
}
Content.set('html', Mustache.render(template, {
labelHideSystemDefault: QUILocale.get(lg,
'controls.settings.OutputTemplates.tpl.labelHideSystemDefault'
),
labelHideSystemDefault: QUILocale.get(lg, 'controls.settings.OutputTemplates.tpl.labelHideSystemDefault'),
templates : renderTemplates
}));
self.$templateSelects = Content.getElements('.quiqqer-erp-settings-output-templates-default-select');
self.$templateSelects.addEvent('change', self.$onTemplateSelectChange);
this.$templateSelects = Content.getElements('.quiqqer-erp-settings-output-templates-default-select');
this.$templateSelects.addEvent('change', this.$onTemplateSelectChange);
var defaultCheckboxes = Content.getElements('.quiqqer-erp-settings-output-templates-hide-system-default');
defaultCheckboxes.addEvent('change', self.$setValue);
const defaultCheckboxes = Content.getElements('.quiqqer-erp-settings-output-templates-hide-system-default');
defaultCheckboxes.addEvent('change', this.$setValue);
// Set values from setting
if (self.$Input.value === '') {
self.$setValue();
if (this.$Input.value === '') {
this.$setValue();
return;
}
var Setting = JSON.decode(self.$Input.value);
let EntitySetting, Select, DefaultCheckbox, Option;
const Setting = JSON.decode(this.$Input.value);
for (entityType in Setting) {
if (!Setting.hasOwnProperty(entityType)) {
continue;
}
var EntitySetting = Setting[entityType];
var Select = Content.getElement('select[data-entitytype="' + entityType + '"]');
EntitySetting = Setting[entityType];
Select = Content.getElement('select[data-entitytype="' + entityType + '"]');
if (!Select) {
continue;
......@@ -128,20 +125,20 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
Select.value = EntitySetting.id + '--' + EntitySetting.provider;
var DefaultCheckbox = Select.getParent().getElement(
DefaultCheckbox = Select.getParent().getElement(
'.quiqqer-erp-settings-output-templates-hide-system-default input'
);
var Option = Select.getElement('option[value="' + Select.value + '"]');
Option = Select.getElement('option[value="' + Select.value + '"]');
if (!parseInt(Option.get('data-systemdefault'))) {
if (Option && !parseInt(Option.get('data-systemdefault'))) {
DefaultCheckbox.getParent().removeClass('quiqqer-erp-settings-output-templates__hidden');
}
DefaultCheckbox.checked = EntitySetting.hideSystemDefault;
}
self.$setValue();
this.$setValue();
});
},
......@@ -151,9 +148,9 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
* @param {DOMEvent} event
*/
$onTemplateSelectChange: function (event) {
var Select = event.target,
DefaultCheckbox = Select.getParent().getElement('.quiqqer-erp-settings-output-templates-hide-system-default'),
Selected = Select.getElement('option[value="' + Select.value + '"]');
const Select = event.target,
DefaultCheckbox = Select.getParent().getElement('.quiqqer-erp-settings-output-templates-hide-system-default'),
Selected = Select.getElement('option[value="' + Select.value + '"]');
if (!parseInt(Selected.get('data-systemdefault'))) {
DefaultCheckbox.removeClass('quiqqer-erp-settings-output-templates__hidden');
......@@ -168,12 +165,17 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
* Set default templates setting value
*/
$setValue: function () {
var DefaultTemplates = {};
const DefaultTemplates = {};
let Select, DefaultCheckbox, value;
for (let i = 0, len = this.$templateSelects.length; i < len; i++) {
Select = this.$templateSelects[i];
value = Select.value.split('--');
for (var i = 0, len = this.$templateSelects.length; i < len; i++) {
var Select = this.$templateSelects[i],
DefaultCheckbox = Select.getParent().getElement('.quiqqer-erp-settings-output-templates-hide-system-default input'),
value = Select.value.split('--');
DefaultCheckbox = Select.getParent().getElement(
'.quiqqer-erp-settings-output-templates-hide-system-default input'
);
DefaultTemplates[Select.get('data-entitytype')] = {
id : value[0],
......@@ -191,15 +193,13 @@ define('package/quiqqer/erp/bin/backend/controls/settings/OutputTemplates', [
* @return {Promise}
*/
$getTemplates: function () {
var self = this;
return new Promise(function (resolve, reject) {
return new Promise((resolve, reject) => {
QUIAjax.get('package_quiqqer_erp_ajax_output_getTemplates', resolve, {
'package': 'quiqqer/erp',
//entityType: self.getAttribute('entityType'),
onError : reject
})
onError: reject
});
});
},
}
});
});
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren