foreign field copy params

This commit is contained in:
Yuri Kuznetsov
2023-05-30 12:37:26 +03:00
parent 646939bcf8
commit 1daac4cfad
10 changed files with 129 additions and 9 deletions
+11
View File
@@ -54,12 +54,23 @@ define('helpers/misc/foreign-field', [], function () {
let fieldDefs = metadata.get(['entityDefs', entityType, 'fields', field]) || {};
let type = fieldDefs.type;
let ignoreList = [
'default',
'audited',
'readOnly',
'required',
];
/** @private */
this.foreignParams = {};
view.getFieldManager().getParamList(type).forEach(defs => {
let name = defs.name;
if (ignoreList.includes(name)) {
return;
}
this.foreignParams[name] = fieldDefs[name] || null;
});
}
+14 -1
View File
@@ -26,10 +26,23 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-bool', ['views/fields/bool'], function (Dep) {
define('views/fields/foreign-bool', ['views/fields/bool', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+14 -1
View File
@@ -26,11 +26,24 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-date', ['views/fields/date'], function (Dep) {
define('views/fields/foreign-date', ['views/fields/date', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+15 -1
View File
@@ -26,11 +26,25 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-datetime', ['views/fields/datetime'], function (Dep) {
define('views/fields/foreign-datetime', ['views/fields/datetime', 'helpers/misc/foreign-field'],
function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+14 -1
View File
@@ -26,10 +26,23 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-float', ['views/fields/float'], function (Dep) {
define('views/fields/foreign-float', ['views/fields/float', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+4
View File
@@ -41,6 +41,10 @@ define('views/fields/foreign-int',
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
this.disableFormatting = foreignParams.disableFormatting;
},
});
+14 -1
View File
@@ -26,10 +26,23 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-text', ['views/fields/text'], function (Dep) {
define('views/fields/foreign-text', ['views/fields/text', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
@@ -26,10 +26,24 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-url-multiple', ['views/fields/url-multiple'], function (Dep) {
define('views/fields/foreign-url-multiple',
['views/fields/url-multiple', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+14 -1
View File
@@ -26,12 +26,25 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-url', ['views/fields/url'], function (Dep) {
define('views/fields/foreign-url', ['views/fields/url', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
readOnly: true,
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});
+14 -2
View File
@@ -26,11 +26,23 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
define('views/fields/foreign-varchar', ['views/fields/varchar'], function (Dep) {
define('views/fields/foreign-varchar', ['views/fields/varchar', 'helpers/misc/foreign-field'], function (Dep, Helper) {
return Dep.extend({
type: 'foreign',
setup: function () {
Dep.prototype.setup.call(this);
/** @var {module:helpers/misc/foreign-field.Class} */
let helper = new Helper(this);
let foreignParams = helper.getForeignParams();
for (let param in foreignParams) {
this.params[param] = foreignParams[param];
}
},
});
});