forked from CIT/Vmeda.Online
		
	MOBILE-3686 storage: Add manage storage in site preferences
This commit is contained in:
		
							parent
							
								
									e789d26280
								
							
						
					
					
						commit
						27ceb96127
					
				
							
								
								
									
										52
									
								
								src/addons/storagemanager/services/handlers/settings.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/addons/storagemanager/services/handlers/settings.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
			
		||||
// (C) Copyright 2015 Moodle Pty Ltd.
 | 
			
		||||
//
 | 
			
		||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
// you may not use this file except in compliance with the License.
 | 
			
		||||
// You may obtain a copy of the License at
 | 
			
		||||
//
 | 
			
		||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
//
 | 
			
		||||
// Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
// See the License for the specific language governing permissions and
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { CoreSettingsHandler, CoreSettingsHandlerData } from '@features/settings/services/settings-delegate';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Mange storage settings handler.
 | 
			
		||||
 */
 | 
			
		||||
@Injectable({ providedIn: 'root' })
 | 
			
		||||
export class AddonStorageManagerSettingsHandlerService implements CoreSettingsHandler {
 | 
			
		||||
 | 
			
		||||
    static readonly PAGE_NAME = 'storage';
 | 
			
		||||
 | 
			
		||||
    name = 'AddonStorageManager';
 | 
			
		||||
    priority = 400;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    async isEnabled(): Promise<boolean> {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getDisplayData(): CoreSettingsHandlerData {
 | 
			
		||||
        return {
 | 
			
		||||
            icon: 'fas-archive',
 | 
			
		||||
            title: 'addon.storagemanager.managestorage',
 | 
			
		||||
            page: AddonStorageManagerSettingsHandlerService.PAGE_NAME,
 | 
			
		||||
            class: 'addon-storagemanager-settings-handler',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const AddonStorageManagerSettingsHandler = makeSingleton(AddonStorageManagerSettingsHandlerService);
 | 
			
		||||
@ -17,7 +17,10 @@ import { Routes } from '@angular/router';
 | 
			
		||||
import { CoreCourseOptionsDelegate } from '@features/course/services/course-options-delegate';
 | 
			
		||||
import { CoreMainMenuRoutingModule } from '@features/mainmenu/mainmenu-routing.module';
 | 
			
		||||
import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module';
 | 
			
		||||
import { CoreSitePreferencesRoutingModule } from '@features/settings/pages/site/site-routing';
 | 
			
		||||
import { CoreSettingsDelegate } from '@features/settings/services/settings-delegate';
 | 
			
		||||
import { AddonStorageManagerCourseMenuHandler } from './services/handlers/course-menu';
 | 
			
		||||
import { AddonStorageManagerSettingsHandler } from './services/handlers/settings';
 | 
			
		||||
 | 
			
		||||
const routes: Routes = [
 | 
			
		||||
    {
 | 
			
		||||
@ -30,6 +33,7 @@ const routes: Routes = [
 | 
			
		||||
    imports: [
 | 
			
		||||
        CoreMainMenuTabRoutingModule.forChild(routes),
 | 
			
		||||
        CoreMainMenuRoutingModule.forChild({ children: routes }),
 | 
			
		||||
        CoreSitePreferencesRoutingModule.forChild(routes),
 | 
			
		||||
    ],
 | 
			
		||||
    exports: [CoreMainMenuRoutingModule],
 | 
			
		||||
    providers: [
 | 
			
		||||
@ -38,6 +42,7 @@ const routes: Routes = [
 | 
			
		||||
            multi: true,
 | 
			
		||||
            useValue: () => {
 | 
			
		||||
                CoreCourseOptionsDelegate.registerHandler(AddonStorageManagerCourseMenuHandler.instance);
 | 
			
		||||
                CoreSettingsDelegate.registerHandler(AddonStorageManagerSettingsHandler.instance);
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user