record fixes

This commit is contained in:
yuri
2015-12-09 17:20:53 +02:00
parent e2a63729b6
commit b4ec610fc2
7 changed files with 52 additions and 21 deletions
+7 -4
View File
@@ -165,12 +165,11 @@ Espo.define('views/record/base', ['view', 'view-record-helper'], function (Dep,
}
},
setConfirmLeaveOut: function (value) {
this.getRouter().confirmLeaveOut = value;
},
getFields: function () {
getFieldViews: function () {
var fields = {};
this.fieldList.forEach(function (item) {
var view = this.getFieldView(item);
@@ -181,14 +180,18 @@ Espo.define('views/record/base', ['view', 'view-record-helper'], function (Dep,
return fields;
},
getFieldViews: function () {
return this.getFields();
getFields: function () {
return this.getFieldViews();
},
getFieldView: function (name) {
return this.getView(name) || null;
},
getField: function (name) {
return this.getFieldView(name);
},
data: function () {
return {
hiddenPanels: this.recordHelper.getHiddenPanels(),
@@ -307,17 +307,21 @@ Espo.define('views/record/detail-bottom', 'view', function (Dep) {
return filtered;
},
getFields: function () {
getFieldViews: function () {
var fields = {};
this.panelList.forEach(function (p) {
var panelView = this.getView(p.name);
if (!panelView.disabled && 'getFields' in panelView) {
fields = _.extend(fields, panelView.getFields());
if (!panelView.disabled && 'getFieldViews' in panelView) {
fields = _.extend(fields, panelView.getFieldViews());
}
}, this);
return fields;
},
getFields: function () {
return this.getFieldViews();
},
fetch: function () {
var data = {};
@@ -54,6 +54,14 @@ Espo.define('views/record/detail-middle', 'view', function (Dep) {
this.$el.find('.panel[data-name="'+name+'"]').addClass('hidden');
}
this.recordHelper.setPanelStateParam(name, 'hidden', true);
},
getFields: function () {
return this.getFieldViews();
},
getFieldViews: function () {
return Espo.Utils.clone(this.nestedViews);
}
});
});
@@ -165,17 +165,21 @@ Espo.define('views/record/detail-side', 'view', function (Dep) {
}, this);
},
getFields: function () {
getFieldViews: function () {
var fields = {};
this.panelList.forEach(function (p) {
var panelView = this.getView(p.name);
if (!panelView.disabled && 'getFields' in panelView) {
fields = _.extend(fields, panelView.getFields());
if (!panelView.disabled && 'getFieldViews' in panelView) {
fields = _.extend(fields, panelView.getFieldViews());
}
}, this);
return fields;
},
getFields: function () {
return this.getFieldViews();
},
fetch: function () {
var data = {};
+14 -10
View File
@@ -294,7 +294,7 @@ Espo.define('views/record/detail', ['views/record/base', 'view-record-helper'],
}
}.bind(this));
var fields = this.getFields();
var fields = this.getFieldViews();
var fieldInEditMode = null;
for (var field in fields) {
@@ -337,7 +337,7 @@ Espo.define('views/record/detail', ['views/record/base', 'view-record-helper'],
this.$el.find('.record-buttons').addClass('hidden');
this.$el.find('.edit-buttons').removeClass('hidden');
var fields = this.getFields();
var fields = this.getFieldViews();
for (var field in fields) {
var fieldView = fields[field];
if (!fieldView.readOnly) {
@@ -356,7 +356,7 @@ Espo.define('views/record/detail', ['views/record/base', 'view-record-helper'],
this.$el.find('.edit-buttons').addClass('hidden');
this.$el.find('.record-buttons').removeClass('hidden');
var fields = this.getFields();
var fields = this.getFieldViews();
for (var field in fields) {
var fieldView = fields[field];
if (fieldView.mode != 'detail') {
@@ -395,13 +395,17 @@ Espo.define('views/record/detail', ['views/record/base', 'view-record-helper'],
}
},
getFields: function () {
var fields = _.clone(this.getView('middle').nestedViews);
getFieldViews: function () {
var fields = {};
if (this.hasView('middle')) {
_.extend(fields, Espo.Utils.clone(this.getView('middle').getFieldViews()));
}
if (this.hasView('side')) {
_.extend(fields, this.getView('side').getFields());
_.extend(fields, this.getView('side').getFieldViews());
}
if (this.hasView('bottom')) {
_.extend(fields, this.getView('bottom').getFields());
_.extend(fields, this.getView('bottom').getFieldViews());
}
return fields;
},
@@ -409,13 +413,13 @@ Espo.define('views/record/detail', ['views/record/base', 'view-record-helper'],
getFieldView: function (name) {
var view;
if (this.hasView('middle')) {
view = this.getView('middle').getView(name) || null;
view = (this.getView('middle').getFieldViews() || {})[name];
}
if (!view && this.hasView('side')) {
view = (this.getView('side').getFields() || {})[name];
view = (this.getView('side').getFieldViews() || {})[name];
}
if (!view && this.hasView('bottom')) {
view = (this.getView('bottom').getFields() || {})[name];
view = (this.getView('bottom').getFieldViews() || {})[name];
}
return view || null;
},
@@ -146,7 +146,7 @@ Espo.define('views/record/panels/bottom', 'view', function (Dep) {
}.bind(this));
},
getFields: function () {
getFieldViews: function () {
var fields = {};
this.getFieldList().forEach(function (item) {
@@ -157,6 +157,10 @@ Espo.define('views/record/panels/bottom', 'view', function (Dep) {
return fields;
},
getFields: function () {
return this.getFields();
},
getFieldList: function () {
return this.fieldList.map(function (item) {
if (typeof item !== 'object') {
@@ -190,6 +190,10 @@ Espo.define('views/record/panels/side', 'view', function (Dep) {
},
getFields: function () {
return this.getFields();
},
getFieldViews: function () {
var fields = {};
this.getFieldList().forEach(function (item) {