You've already forked nginx-proxy-manager
							
							
				mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-30 18:05:34 +03:00 
			
		
		
		
	* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const Mn         = require('backbone.marionette');
 | |
| const template   = require('./main.ejs');
 | |
| const HeaderView = require('./header/main');
 | |
| const MenuView   = require('./menu/main');
 | |
| const FooterView = require('./footer/main');
 | |
| const Cache      = require('../cache');
 | |
| 
 | |
| module.exports = Mn.View.extend({
 | |
|     id:          'app',
 | |
|     className:   'page',
 | |
|     template:    template,
 | |
|     modal_setup: false,
 | |
| 
 | |
|     modal: null,
 | |
| 
 | |
|     ui: {
 | |
|         modal: '#modal-dialog'
 | |
|     },
 | |
| 
 | |
|     regions: {
 | |
|         header_region:      {
 | |
|             el:             '#header',
 | |
|             replaceElement: true
 | |
|         },
 | |
|         menu_region:        {
 | |
|             el:             '#menu',
 | |
|             replaceElement: true
 | |
|         },
 | |
|         footer_region:      '.footer',
 | |
|         app_content_region: '#app-content',
 | |
|         modal_region:       '#modal-dialog'
 | |
|     },
 | |
| 
 | |
|     /**
 | |
|      * @param {Object}  view
 | |
|      */
 | |
|     showAppContent: function (view) {
 | |
|         this.showChildView('app_content_region', view);
 | |
|     },
 | |
| 
 | |
|     /**
 | |
|      * @param {Object}    view
 | |
|      * @param {Function}  [show_callback]
 | |
|      * @param {Function}  [shown_callback]
 | |
|      */
 | |
|     showModalDialog: function (view, show_callback, shown_callback) {
 | |
|         this.showChildView('modal_region', view);
 | |
|         let modal = this.getRegion('modal_region').$el.modal('show');
 | |
| 
 | |
|         modal.on('hidden.bs.modal', function (/*e*/) {
 | |
|             if (show_callback) {
 | |
|                 modal.off('show.bs.modal', show_callback);
 | |
|             }
 | |
| 
 | |
|             if (shown_callback) {
 | |
|                 modal.off('shown.bs.modal', shown_callback);
 | |
|             }
 | |
| 
 | |
|             modal.off('hidden.bs.modal');
 | |
|             view.destroy();
 | |
|         });
 | |
| 
 | |
|         if (show_callback) {
 | |
|             modal.on('show.bs.modal', show_callback);
 | |
|         }
 | |
| 
 | |
|         if (shown_callback) {
 | |
|             modal.on('shown.bs.modal', shown_callback);
 | |
|         }
 | |
|     },
 | |
| 
 | |
|     /**
 | |
|      *
 | |
|      * @param {Function}  [hidden_callback]
 | |
|      */
 | |
|     closeModal: function (hidden_callback) {
 | |
|         let modal = this.getRegion('modal_region').$el.modal('hide');
 | |
| 
 | |
|         if (hidden_callback) {
 | |
|             modal.on('hidden.bs.modal', hidden_callback);
 | |
|         }
 | |
|     },
 | |
| 
 | |
|     onRender: function () {
 | |
|         this.showChildView('header_region', new HeaderView({
 | |
|             model: Cache.User
 | |
|         }));
 | |
| 
 | |
|         this.showChildView('menu_region', new MenuView());
 | |
|         this.showChildView('footer_region', new FooterView());
 | |
|     },
 | |
| 
 | |
|     reset: function () {
 | |
|         this.getRegion('header_region').reset();
 | |
|         this.getRegion('footer_region').reset();
 | |
|         this.getRegion('modal_region').reset();
 | |
|     }
 | |
| });
 |