File tree Expand file tree Collapse file tree 3 files changed +68
-0
lines changed
plugins/markerDeleteButton Expand file tree Collapse file tree 3 files changed +68
-0
lines changed Original file line number Diff line number Diff line change 1+ .wall-item-container : hover .marker-delete-button {
2+ display : block;
3+ }
4+
5+ .marker-delete-button {
6+ display : none;
7+ opacity : 0.25 ;
8+ position : absolute;
9+ top : 5px ;
10+ right : 5px ;
11+ z-index : 999 ;
12+ }
13+
14+ .marker-delete-button : hover {
15+ opacity : 0.75 ;
16+ }
Original file line number Diff line number Diff line change 1+ ( async ( ) => {
2+ const markerDeleteButton =
3+ '<button class="marker-delete-button btn btn-danger">Delete</button>' ;
4+
5+ async function setupMarkerDeleteButton ( ) {
6+ document
7+ . querySelectorAll ( "div.wall-item-container" )
8+ . forEach ( function ( node ) {
9+ // Insert delete button.
10+ var deleteButton = document . createElement ( "div" ) ;
11+ deleteButton . innerHTML = markerDeleteButton ;
12+ node . prepend ( deleteButton ) ;
13+
14+ // Parse marker ID.
15+ var markerImg = node
16+ . querySelector ( ".wall-item-media" )
17+ . getAttribute ( "src" ) ;
18+ var markerID = markerImg . split ( "/" ) [ 6 ] ;
19+
20+ // Register click handler.
21+ deleteButton . addEventListener ( "click" , function ( e ) {
22+ deleteMarker ( markerID ) ;
23+ } ) ;
24+ } ) ;
25+ }
26+
27+ async function deleteMarker ( markerID ) {
28+ const variables = { id : markerID } ;
29+ const query = `mutation SceneMarkerDestroy($id: ID!) {sceneMarkerDestroy(id: $id)}` ;
30+ await csLib . callGQL ( { query, variables } ) . then ( ( ) => {
31+ window . location . reload ( ) ;
32+ } ) ;
33+ }
34+
35+ // Wait for markers page to load.
36+ csLib . PathElementListener (
37+ "/scenes/markers" ,
38+ "div.wall" ,
39+ setupMarkerDeleteButton
40+ ) ; // PathElementListener is from cs-ui-lib.js
41+ } ) ( ) ;
Original file line number Diff line number Diff line change 1+ name : Marker Delete Button
2+ # requires: CommunityScriptsUILibrary
3+ description : Adds a delete button to entries on the Markers page.
4+ version : 0.1
5+ ui :
6+ requires :
7+ - CommunityScriptsUILibrary
8+ javascript :
9+ - markerDeleteButton.js
10+ css :
11+ - markerDeleteButton.css
You can’t perform that action at this time.
0 commit comments