| 1 | /* | 
| 2 | Copyright - 2017 2023 - wwwouaiebe - Contact: https://www.ouaie.be/ | 
| 3 | |
| 4 | This  program is free software; | 
| 5 | you can redistribute it and/or modify it under the terms of the | 
| 6 | GNU General Public License as published by the Free Software Foundation; | 
| 7 | either version 3 of the License, or any later version. | 
| 8 | |
| 9 | This program is distributed in the hope that it will be useful, | 
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12 | GNU General Public License for more details. | 
| 13 | |
| 14 | You should have received a copy of the GNU General Public License | 
| 15 | along with this program; if not, write to the Free Software | 
| 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | 
| 17 | */ | 
| 18 | /* | 
| 19 | Changes: | 
| 20 |     - v4.0.0: | 
| 21 |         - created from v3.6.0 | 
| 22 | Doc reviewed 202208 | 
| 23 |  */ | 
| 24 | |
| 25 | import theUtilities from '../../core/uiLib/Utilities.js';  | 
| 26 | |
| 27 | /* ------------------------------------------------------------------------------------------------------------------------- */ | 
| 28 | /** | 
| 29 | Click event listener for the saveApiKeys to unsecure file button | 
| 30 | */ | 
| 31 | /* ------------------------------------------------------------------------------------------------------------------------- */ | 
| 32 | |
| 33 | class SaveToUnsecureFileButtonClickEL {  | 
| 34 | |
| 35 |     /** | 
| 36 |     A reference to the ApiKeys dialog | 
| 37 |     @type {ApiKeysDialog} | 
| 38 |     */ | 
| 39 | |
| 40 | #apiKeysDialog;  | 
| 41 | |
| 42 |     /** | 
| 43 |     The constructor | 
| 44 |     @param {ApiKeysDialog} apiKeysDialog A reference to the ApiKeys dialog | 
| 45 |     objects are stored | 
| 46 |     */ | 
| 47 | |
| 48 |     constructor ( apiKeysDialog ) { | 
| 49 |         Object.freeze ( this ); | 
| 50 |         this.#apiKeysDialog = apiKeysDialog; | 
| 51 | }  | 
| 52 | |
| 53 |     /** | 
| 54 |     The destructor | 
| 55 |     */ | 
| 56 | |
| 57 |     destructor ( ) { | 
| 58 |         this.#apiKeysDialog = null; | 
| 59 | }  | 
| 60 | |
| 61 |     /** | 
| 62 |     Event listener method | 
| 63 |     @param {Event} clickEvent The event to handle | 
| 64 |     */ | 
| 65 | |
| 66 |     handleEvent ( clickEvent ) { | 
| 67 | clickEvent.stopPropagation ( );  | 
| 68 |         if ( ! this.#apiKeysDialog.validateApiKeys ( ) ) { | 
| 69 |             return; | 
| 70 | }  | 
| 71 | theUtilities.saveFile (  | 
| 72 |             'ApiKeys.json', | 
| 73 |             this.#apiKeysDialog.apiKeysJSON, | 
| 74 |             'application/json' ); | 
| 75 | }  | 
| 76 | }  | 
| 77 | |
| 78 | export default SaveToUnsecureFileButtonClickEL;  | 
| 79 | |
| 80 | /* --- End of file --------------------------------------------------------------------------------------------------------- */ | 
| 81 |