Links wip

This commit is contained in:
barsdeveloper
2022-03-10 22:31:47 +01:00
parent 9861b5cc00
commit 8bca6dcff4
9 changed files with 210 additions and 30 deletions

View File

@@ -28,7 +28,7 @@ export default class ObjectEntity extends IEntity {
/**
* @returns {String} The name of the node
*/
getNodeDisplayName() {
getName() {
return this.Name
}
}

View File

@@ -65,17 +65,49 @@ export default class PinEntity extends IEntity {
}
/**
* @param {PinReferenceEntity} pinReferenceEntity
* @param {String} targetObjectName
* @param {PinEntity} targetPinEntity
*/
connectTo(pinReferenceEntity) {
linkTo(targetObjectName, targetPinEntity) {
/** @type {PinReferenceEntity[]} */
this.LinkedTo
this.LinkedTo.forEach(reference => {
const pinExists = !this.LinkedTo.find(
/** @type {PinReferenceEntity} */
pinReferenceEntity => {
return pinReferenceEntity.objectName == targetObjectName
&& pinReferenceEntity.pinGuid == targetPinEntity.PinId
})
if (pinExists) {
this.LinkedTo.push(new PinReferenceEntity({
objectName: targetObjectName,
pinGuid: targetPinEntity.PinId
}))
return true
}
return false
}
})
/**
* @param {String} targetObjectName
* @param {PinEntity} targetPinEntity
*/
unlinkFrom(targetObjectName, targetPinEntity) {
/** @type {PinReferenceEntity[]} */
this.LinkedTo
const indexElement = this.LinkedTo.findIndex(
/** @type {PinReferenceEntity} */
pinReferenceEntity => {
return pinReferenceEntity.objectName == targetObjectName
&& pinReferenceEntity.pinGuid == targetPinEntity.PinId
})
if (indexElement >= 0) {
this.LinkedTo.splice(indexElement, 1)
return true
}
return false
}
getType() {
return this.PinType.PinCategory ?? "object"
return this.PinType.PinCategory
}
}