client record actions duplicate prevention
This commit is contained in:
@@ -84,18 +84,30 @@ class ActionItemSetupHelper {
|
||||
throw new Error();
|
||||
}
|
||||
|
||||
const actionDefsList = [
|
||||
/** @type {({name?: string} & Record | string)[]} */
|
||||
const actionDefsListOriginal = [
|
||||
...this.metadata.get(['clientDefs', 'Global', type + 'ActionList']) || [],
|
||||
...this.metadata.get(['clientDefs', scope, type + 'ActionList']) || [],
|
||||
];
|
||||
|
||||
actionDefsList.forEach(item => {
|
||||
/** @type {({name?: string} & Object.<string, *>)[]} */
|
||||
let actionDefsList = actionDefsListOriginal.map(item => {
|
||||
if (typeof item === 'string') {
|
||||
item = {name: item};
|
||||
return {name: item};
|
||||
}
|
||||
|
||||
item = Espo.Utils.cloneDeep(item);
|
||||
return Espo.Utils.cloneDeep(item);
|
||||
})
|
||||
|
||||
actionDefsList.reverse();
|
||||
|
||||
actionDefsList = actionDefsList.filter((it, i, self) => {
|
||||
return self.findIndex(sIt => sIt.name === it.name) === i;
|
||||
});
|
||||
|
||||
actionDefsList.reverse();
|
||||
|
||||
actionDefsList.forEach(item => {
|
||||
const name = item.name;
|
||||
|
||||
if (!item.label) {
|
||||
|
||||
@@ -2378,12 +2378,12 @@ class ListRecordView extends View {
|
||||
const metadataMassActionList = [
|
||||
...this.getMetadata().get(['clientDefs', 'Global', 'massActionList']) || [],
|
||||
...this.getMetadata().get(['clientDefs', this.scope, 'massActionList']) || [],
|
||||
];
|
||||
].filter((it, i, self) => self.indexOf(it) === i);
|
||||
|
||||
const metadataCheckAllMassActionList = [
|
||||
...this.getMetadata().get(['clientDefs', 'Global', 'checkAllResultMassActionList']) || [],
|
||||
...this.getMetadata().get(['clientDefs', this.scope, 'checkAllResultMassActionList']) || [],
|
||||
];
|
||||
].filter((it, i, self) => self.indexOf(it) === i);
|
||||
|
||||
metadataMassActionList.forEach(item => {
|
||||
const defs = /** @type {Espo.Utils~ActionAccessDefs & Espo.Utils~ActionAvailabilityDefs} */
|
||||
|
||||
Reference in New Issue
Block a user