diff --git a/code/hooks.js b/code/hooks.js index 9629647e..9637b7b7 100644 --- a/code/hooks.js +++ b/code/hooks.js @@ -29,6 +29,9 @@ // the Leaflet CircleMarker for the portal in "portal" var. // linkAdded: called when a link is about to be added to the map // fieldAdded: called when a field is about to be added to the map +// portalRemoved: called when a portal has been removed +// linkRemoved: called when a link has been removed +// fieldRemoved: called when a field has been removed // portalDetailsUpdated: fired after the details in the sidebar have // been (re-)rendered Provides data about the portal that // has been selected. @@ -60,6 +63,7 @@ window.VALID_HOOKS = [ 'portalSelected', 'portalDetailsUpdated', 'artifactsUpdated', 'mapDataRefreshStart', 'mapDataEntityInject', 'mapDataRefreshEnd', 'portalAdded', 'linkAdded', 'fieldAdded', + 'portalRemoved', 'linkRemoved', 'fieldRemoved', 'publicChatDataAvailable', 'factionChatDataAvailable', 'requestFinished', 'nicknameClicked', 'geoSearch', 'search', 'iitcLoaded', diff --git a/code/map_data_render.js b/code/map_data_render.js index d3811a15..fd83efcd 100644 --- a/code/map_data_render.js +++ b/code/map_data_render.js @@ -225,6 +225,7 @@ window.Render.prototype.deletePortalEntity = function(guid) { window.ornaments.removePortal(p); this.removePortalFromMapLayer(p); delete window.portals[guid]; + window.runHooks('portalRemoved', {portal: p, data: p.options.data }); } } @@ -233,6 +234,7 @@ window.Render.prototype.deleteLinkEntity = function(guid) { var l = window.links[guid]; linksFactionLayers[l.options.team].removeLayer(l); delete window.links[guid]; + window.runHooks('linkRemoved', {link: l, data: l.options.data }); } } @@ -244,6 +246,7 @@ window.Render.prototype.deleteFieldEntity = function(guid) { fieldsFactionLayers[f.options.team].removeLayer(f); delete window.fields[guid]; + window.runHooks('fieldRemoved', {field: f, data: f.options.data }); } }