MOBILE-2567 database: Display confirm before deleting an entry
parent
d15165ad98
commit
d6af09f799
|
@ -13,6 +13,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { CoreContentLinksHandlerBase } from '@core/contentlinks/classes/base-handler';
|
import { CoreContentLinksHandlerBase } from '@core/contentlinks/classes/base-handler';
|
||||||
import { CoreContentLinksAction } from '@core/contentlinks/providers/delegate';
|
import { CoreContentLinksAction } from '@core/contentlinks/providers/delegate';
|
||||||
import { AddonModDataProvider } from './data';
|
import { AddonModDataProvider } from './data';
|
||||||
|
@ -31,7 +32,8 @@ export class AddonModDataDeleteLinkHandler extends CoreContentLinksHandlerBase {
|
||||||
pattern = /\/mod\/data\/view\.php.*([\?\&](d|delete)=\d+)/;
|
pattern = /\/mod\/data\/view\.php.*([\?\&](d|delete)=\d+)/;
|
||||||
|
|
||||||
constructor(private dataProvider: AddonModDataProvider, private courseProvider: CoreCourseProvider,
|
constructor(private dataProvider: AddonModDataProvider, private courseProvider: CoreCourseProvider,
|
||||||
private domUtils: CoreDomUtilsProvider, private eventsProvider: CoreEventsProvider) {
|
private domUtils: CoreDomUtilsProvider, private eventsProvider: CoreEventsProvider,
|
||||||
|
private translate: TranslateService) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,11 +68,13 @@ export class AddonModDataDeleteLinkHandler extends CoreContentLinksHandlerBase {
|
||||||
CoreContentLinksAction[] | Promise<CoreContentLinksAction[]> {
|
CoreContentLinksAction[] | Promise<CoreContentLinksAction[]> {
|
||||||
return [{
|
return [{
|
||||||
action: (siteId, navCtrl?): void => {
|
action: (siteId, navCtrl?): void => {
|
||||||
|
|
||||||
|
this.domUtils.showConfirm(this.translate.instant('addon.mod_data.confirmdeleterecord')).then(() => {
|
||||||
const modal = this.domUtils.showModalLoading(),
|
const modal = this.domUtils.showModalLoading(),
|
||||||
dataId = parseInt(params.d, 10),
|
dataId = parseInt(params.d, 10),
|
||||||
entryId = parseInt(params.delete, 10);
|
entryId = parseInt(params.delete, 10);
|
||||||
|
|
||||||
this.getActivityCourseIdIfNotSet(dataId, siteId, courseId).then((cId) => {
|
return this.getActivityCourseIdIfNotSet(dataId, siteId, courseId).then((cId) => {
|
||||||
courseId = cId;
|
courseId = cId;
|
||||||
|
|
||||||
// Delete entry.
|
// Delete entry.
|
||||||
|
@ -93,6 +97,9 @@ export class AddonModDataDeleteLinkHandler extends CoreContentLinksHandlerBase {
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
modal.dismiss();
|
modal.dismiss();
|
||||||
});
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
// Nothing to do.
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue