84 lines
2.5 KiB
TypeScript
84 lines
2.5 KiB
TypeScript
// (C) Copyright 2015 Martin Dougiamas
|
|
//
|
|
// 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 { Component, ViewChild } from '@angular/core';
|
|
import { IonicPage, NavParams } from 'ionic-angular';
|
|
import { AddonModWikiIndexComponent } from '../../components/index/index';
|
|
|
|
/**
|
|
* Page that displays a wiki page.
|
|
*/
|
|
@IonicPage({ segment: 'addon-mod-wiki-index' })
|
|
@Component({
|
|
selector: 'page-addon-mod-wiki-index',
|
|
templateUrl: 'index.html',
|
|
})
|
|
export class AddonModWikiIndexPage {
|
|
@ViewChild(AddonModWikiIndexComponent) wikiComponent: AddonModWikiIndexComponent;
|
|
|
|
title: string;
|
|
module: any;
|
|
courseId: number;
|
|
action: string;
|
|
pageId: number;
|
|
pageTitle: string;
|
|
wikiId: number;
|
|
subwikiId: number;
|
|
userId: number;
|
|
groupId: number;
|
|
|
|
constructor(navParams: NavParams) {
|
|
this.module = navParams.get('module') || {};
|
|
this.courseId = navParams.get('courseId');
|
|
this.action = navParams.get('action') || 'page';
|
|
this.pageId = navParams.get('pageId');
|
|
this.pageTitle = navParams.get('pageTitle');
|
|
this.wikiId = navParams.get('wikiId');
|
|
this.subwikiId = navParams.get('subwikiId');
|
|
this.userId = navParams.get('userId');
|
|
this.groupId = navParams.get('groupId');
|
|
|
|
this.title = this.pageTitle || this.module.name;
|
|
}
|
|
|
|
/**
|
|
* Update some data based on the data received.
|
|
*
|
|
* @param {any} data The data received.
|
|
*/
|
|
updateData(data: any): void {
|
|
if (typeof data == 'string') {
|
|
// We received the title to display.
|
|
this.title = data;
|
|
} else {
|
|
// We received a wiki instance.
|
|
this.title = this.pageTitle || data.title || this.title;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* User entered the page.
|
|
*/
|
|
ionViewDidEnter(): void {
|
|
this.wikiComponent.ionViewDidEnter();
|
|
}
|
|
|
|
/**
|
|
* User left the page.
|
|
*/
|
|
ionViewDidLeave(): void {
|
|
this.wikiComponent.ionViewDidLeave();
|
|
}
|
|
}
|