@@ -25,97 +25,98 @@ import { LoadingScene } from "./LoadingScene.js";
2525import { delete_collection } from "./api.js" ;
2626
2727/**
28- * @constructor
2928 * @implements {Scene}
3029 * @param {string } user
3130 * @param {string } password
3231 * @param {Collection } collection
3332 */
34- export function DeleteCollectionScene ( user , password , collection ) {
35- /** @type {HTMLElement } */ let html_scene = document . getElementById ( "deletecollectionscene" ) ;
36- /** @type {HTMLElement } */ let title_form = html_scene . querySelector ( "[data-name=title]" ) ;
37- /** @type {HTMLElement } */ let error_form = html_scene . querySelector ( "[data-name=error]" ) ;
38- /** @type {HTMLInputElement } */ let confirmation_txt = html_scene . querySelector ( "[data-name=confirmationtxt]" ) ;
39- /** @type {HTMLElement } */ let delete_confirmation_lbl = html_scene . querySelector ( "[data-name=deleteconfirmationtext]" ) ;
40- /** @type {HTMLElement } */ let delete_btn = html_scene . querySelector ( "[data-name=delete]" ) ;
41- /** @type {HTMLElement } */ let cancel_btn = html_scene . querySelector ( "[data-name=cancel]" ) ;
33+ export class DeleteCollectionScene {
34+ constructor ( user , password , collection ) {
35+ /** @type {HTMLElement } */ let html_scene = document . getElementById ( "deletecollectionscene" ) ;
36+ /** @type {HTMLElement } */ let title_form = html_scene . querySelector ( "[data-name=title]" ) ;
37+ /** @type {HTMLElement } */ let error_form = html_scene . querySelector ( "[data-name=error]" ) ;
38+ /** @type {HTMLInputElement } */ let confirmation_txt = html_scene . querySelector ( "[data-name=confirmationtxt]" ) ;
39+ /** @type {HTMLElement } */ let delete_confirmation_lbl = html_scene . querySelector ( "[data-name=deleteconfirmationtext]" ) ;
40+ /** @type {HTMLElement } */ let delete_btn = html_scene . querySelector ( "[data-name=delete]" ) ;
41+ /** @type {HTMLElement } */ let cancel_btn = html_scene . querySelector ( "[data-name=cancel]" ) ;
4242
43- delete_confirmation_lbl . innerHTML = DELETE_CONFIRMATION_TEXT ;
44- confirmation_txt . value = "" ;
45- confirmation_txt . addEventListener ( "keydown" , onkeydown ) ;
43+ delete_confirmation_lbl . innerHTML = DELETE_CONFIRMATION_TEXT ;
44+ confirmation_txt . value = "" ;
45+ confirmation_txt . addEventListener ( "keydown" , onkeydown ) ;
4646
47- /** @type {?number } */ let scene_index = null ;
48- /** @type {?XMLHttpRequest } */ let delete_req = null ;
49- let error = "" ;
47+ /** @type {?number } */ let scene_index = null ;
48+ /** @type {?XMLHttpRequest } */ let delete_req = null ;
49+ let error = "" ;
5050
51- function ondelete ( ) {
52- let confirmation_text_value = confirmation_txt . value ;
53- if ( confirmation_text_value != DELETE_CONFIRMATION_TEXT ) {
54- alert ( "Please type the confirmation text to delete this collection." ) ;
55- return ;
51+ function ondelete ( ) {
52+ let confirmation_text_value = confirmation_txt . value ;
53+ if ( confirmation_text_value != DELETE_CONFIRMATION_TEXT ) {
54+ alert ( "Please type the confirmation text to delete this collection." ) ;
55+ return ;
56+ }
57+ try {
58+ let loading_scene = new LoadingScene ( ) ;
59+ push_scene ( loading_scene , false ) ;
60+ delete_req = delete_collection ( user , password , collection , function ( error1 ) {
61+ if ( scene_index === null ) {
62+ return ;
63+ }
64+ delete_req = null ;
65+ if ( error1 ) {
66+ error = error1 ;
67+ pop_scene ( scene_index ) ;
68+ } else {
69+ pop_scene ( scene_index - 1 ) ;
70+ }
71+ } ) ;
72+ } catch ( err ) {
73+ console . error ( err ) ;
74+ }
75+ return false ;
5676 }
57- try {
58- let loading_scene = new LoadingScene ( ) ;
59- push_scene ( loading_scene , false ) ;
60- delete_req = delete_collection ( user , password , collection , function ( error1 ) {
61- if ( scene_index === null ) {
62- return ;
63- }
64- delete_req = null ;
65- if ( error1 ) {
66- error = error1 ;
67- pop_scene ( scene_index ) ;
68- } else {
69- pop_scene ( scene_index - 1 ) ;
70- }
71- } ) ;
72- } catch ( err ) {
73- console . error ( err ) ;
74- }
75- return false ;
76- }
7777
78- function oncancel ( ) {
79- try {
80- pop_scene ( scene_index - 1 ) ;
81- } catch ( err ) {
82- console . error ( err ) ;
78+ function oncancel ( ) {
79+ try {
80+ pop_scene ( scene_index - 1 ) ;
81+ } catch ( err ) {
82+ console . error ( err ) ;
83+ }
84+ return false ;
8385 }
84- return false ;
85- }
8686
87- function onkeydown ( event ) {
88- if ( event . keyCode !== 13 ) {
89- return ;
87+ function onkeydown ( event ) {
88+ if ( event . keyCode !== 13 ) {
89+ return ;
90+ }
91+ ondelete ( ) ;
9092 }
91- ondelete ( ) ;
92- }
9393
94- this . show = function ( ) {
95- this . release ( ) ;
96- scene_index = scene_stack . length - 1 ;
97- html_scene . classList . remove ( "hidden" ) ;
98- title_form . textContent = collection . displayname || collection . href ;
99- delete_btn . onclick = ondelete ;
100- cancel_btn . onclick = oncancel ;
101- if ( error ) {
102- error_form . textContent = "Error: " + error ;
103- error_form . classList . remove ( "hidden" ) ;
104- } else {
105- error_form . classList . add ( "hidden" ) ;
106- }
94+ this . show = function ( ) {
95+ this . release ( ) ;
96+ scene_index = scene_stack . length - 1 ;
97+ html_scene . classList . remove ( "hidden" ) ;
98+ title_form . textContent = collection . displayname || collection . href ;
99+ delete_btn . onclick = ondelete ;
100+ cancel_btn . onclick = oncancel ;
101+ if ( error ) {
102+ error_form . textContent = "Error: " + error ;
103+ error_form . classList . remove ( "hidden" ) ;
104+ } else {
105+ error_form . classList . add ( "hidden" ) ;
106+ }
107107
108- } ;
109- this . hide = function ( ) {
110- html_scene . classList . add ( "hidden" ) ;
111- cancel_btn . onclick = null ;
112- delete_btn . onclick = null ;
113- } ;
114- this . release = function ( ) {
115- scene_index = null ;
116- if ( delete_req !== null ) {
117- delete_req . abort ( ) ;
118- delete_req = null ;
119- }
120- } ;
108+ } ;
109+ this . hide = function ( ) {
110+ html_scene . classList . add ( "hidden" ) ;
111+ cancel_btn . onclick = null ;
112+ delete_btn . onclick = null ;
113+ } ;
114+ this . release = function ( ) {
115+ scene_index = null ;
116+ if ( delete_req !== null ) {
117+ delete_req . abort ( ) ;
118+ delete_req = null ;
119+ }
120+ } ;
121+ }
121122}
0 commit comments