Merge pull request #2343 from crazyserver/MOBILE-3370

MOBILE-3370 blocks: Add support for block_activity_results
main
Juan Leyva 2020-04-27 17:45:44 +02:00 committed by GitHub
commit 16873e7a64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 127 additions and 0 deletions

View File

@ -27,6 +27,7 @@
"addon.badges.version": "badges",
"addon.badges.warnexpired": "badges",
"addon.block_activitymodules.pluginname": "block_activity_modules",
"addon.block_activityresults.pluginname": "block_activity_results",
"addon.block_badges.pluginname": "block_badges",
"addon.block_blogmenu.pluginname": "block_blog_menu",
"addon.block_blogrecent.pluginname": "block_blog_recent",

View File

@ -0,0 +1,38 @@
// (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 { NgModule } from '@angular/core';
import { IonicModule } from 'ionic-angular';
import { TranslateModule } from '@ngx-translate/core';
import { CoreBlockDelegate } from '@core/block/providers/delegate';
import { AddonBlockActivityResultsHandler } from './providers/block-handler';
@NgModule({
declarations: [
],
imports: [
IonicModule,
TranslateModule.forChild()
],
exports: [
],
providers: [
AddonBlockActivityResultsHandler
]
})
export class AddonBlockActivityResultsModule {
constructor(blockDelegate: CoreBlockDelegate, blockHandler: AddonBlockActivityResultsHandler) {
blockDelegate.registerHandler(blockHandler);
}
}

View File

@ -0,0 +1,31 @@
.addon-block-activity-results core-block-pre-rendered {
ion-item.core-block-content {
table.grades {
@include text-align('start');
width: 100%;
.number {
@include text-align('start');
width: 10%;
}
.name {
@include text-align('start');
width: 77%;
}
.grade {
@include text-align('end');
}
caption {
@include text-align('start');
padding-top: .75rem;
padding-bottom: .75rem;
color: $gray-darker;
font-weight: bold;
font-size: 18px;
}
}
}
}

View File

@ -0,0 +1,3 @@
{
"pluginname": "Activity results"
}

View File

@ -0,0 +1,51 @@
// (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, Injector } from '@angular/core';
import { CoreBlockHandlerData } from '@core/block/providers/delegate';
import { CoreBlockPreRenderedComponent } from '@core/block/components/pre-rendered-block/pre-rendered-block';
import { CoreBlockBaseHandler } from '@core/block/classes/base-block-handler';
/**
* Block handler.
*/
@Injectable()
export class AddonBlockActivityResultsHandler extends CoreBlockBaseHandler {
name = 'AddonBlockActivityResults';
blockName = 'activity_results';
constructor() {
super();
}
/**
* Returns the data needed to render the block.
*
* @param injector Injector.
* @param block The block to render.
* @param contextLevel The context where the block will be used.
* @param instanceId The instance ID associated with the context level.
* @return Data or promise resolved with the data.
*/
getDisplayData(injector: Injector, block: any, contextLevel: string, instanceId: number)
: CoreBlockHandlerData | Promise<CoreBlockHandlerData> {
return {
title: 'addon.block_activityresults.pluginname',
class: 'addon-block-activity-results',
component: CoreBlockPreRenderedComponent
};
}
}

View File

@ -98,6 +98,7 @@ import { AddonCourseCompletionModule } from '@addon/coursecompletion/coursecompl
import { AddonUserProfileFieldModule } from '@addon/userprofilefield/userprofilefield.module';
import { AddonFilesModule } from '@addon/files/files.module';
import { AddonBlockActivityModulesModule } from '@addon/block/activitymodules/activitymodules.module';
import { AddonBlockActivityResultsModule } from '@addon/block/activityresults/activityresults.module';
import { AddonBlockBadgesModule } from '@addon/block/badges/badges.module';
import { AddonBlockBlogMenuModule } from '@addon/block/blogmenu/blogmenu.module';
import { AddonBlockBlogTagsModule } from '@addon/block/blogtags/blogtags.module';
@ -247,6 +248,7 @@ export const WP_PROVIDER: any = null;
AddonUserProfileFieldModule,
AddonFilesModule,
AddonBlockActivityModulesModule,
AddonBlockActivityResultsModule,
AddonBlockBadgesModule,
AddonBlockBlogMenuModule,
AddonBlockBlogRecentModule,

View File

@ -27,6 +27,7 @@
"addon.badges.version": "Version",
"addon.badges.warnexpired": "(This badge has expired!)",
"addon.block_activitymodules.pluginname": "Activities",
"addon.block_activityresults.pluginname": "Activity results",
"addon.block_badges.pluginname": "Latest badges",
"addon.block_blogmenu.pluginname": "Blog menu",
"addon.block_blogrecent.pluginname": "Recent blog entries",