MOBILE-2334 assign: Fix errors with file submission plugin
parent
6ca648c46d
commit
88c05ac157
|
@ -224,7 +224,7 @@ export class AddonModAssignSubmissionDelegate extends CoreDelegate {
|
||||||
* @param {any} inputData Data entered by the user for the submission.
|
* @param {any} inputData Data entered by the user for the submission.
|
||||||
*/
|
*/
|
||||||
clearTmpData(assign: any, submission: any, plugin: any, inputData: any): void {
|
clearTmpData(assign: any, submission: any, plugin: any, inputData: any): void {
|
||||||
return this.executeFunctionOnEnabled(plugin.type, 'return', [assign, submission, plugin, inputData]);
|
return this.executeFunctionOnEnabled(plugin.type, 'clearTmpData', [assign, submission, plugin, inputData]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -212,7 +212,7 @@ export const CORE_PROVIDERS: any[] = [
|
||||||
})
|
})
|
||||||
export class AppModule {
|
export class AppModule {
|
||||||
constructor(platform: Platform, initDelegate: CoreInitDelegate, updateManager: CoreUpdateManagerProvider,
|
constructor(platform: Platform, initDelegate: CoreInitDelegate, updateManager: CoreUpdateManagerProvider,
|
||||||
sitesProvider: CoreSitesProvider) {
|
sitesProvider: CoreSitesProvider, fileProvider: CoreFileProvider) {
|
||||||
// Register a handler for platform ready.
|
// Register a handler for platform ready.
|
||||||
initDelegate.registerProcess({
|
initDelegate.registerProcess({
|
||||||
name: 'CorePlatformReady',
|
name: 'CorePlatformReady',
|
||||||
|
@ -232,6 +232,14 @@ export class AppModule {
|
||||||
load: sitesProvider.restoreSession.bind(sitesProvider)
|
load: sitesProvider.restoreSession.bind(sitesProvider)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Register clear app tmp folder.
|
||||||
|
initDelegate.registerProcess({
|
||||||
|
name: 'CoreClearTmpFolder',
|
||||||
|
priority: CoreInitDelegate.MAX_RECOMMENDED_PRIORITY + 150,
|
||||||
|
blocking: false,
|
||||||
|
load: fileProvider.clearTmpFolder.bind(fileProvider)
|
||||||
|
});
|
||||||
|
|
||||||
// Execute the init processes.
|
// Execute the init processes.
|
||||||
initDelegate.executeInitProcesses();
|
initDelegate.executeInitProcesses();
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,9 +127,9 @@ export class CoreAttachmentsComponent implements OnInit {
|
||||||
* A file was renamed.
|
* A file was renamed.
|
||||||
*
|
*
|
||||||
* @param {number} index Index of the file.
|
* @param {number} index Index of the file.
|
||||||
* @param {any} file The new file entry.
|
* @param {any} data The data received.
|
||||||
*/
|
*/
|
||||||
renamed(index: number, file: any): void {
|
renamed(index: number, data: any): void {
|
||||||
this.files[index] = file;
|
this.files[index] = data.file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,11 +120,6 @@ export class CoreLocalFileComponent implements OnInit {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
this.editMode = true;
|
this.editMode = true;
|
||||||
this.newFileName = this.file.name;
|
this.newFileName = this.file.name;
|
||||||
|
|
||||||
// @todo For some reason core-auto-focus isn't working right. Focus the input manually.
|
|
||||||
// $timeout(function() {
|
|
||||||
// $mmUtil.focusElement(element[0].querySelector('input'));
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -159,8 +154,8 @@ export class CoreLocalFileComponent implements OnInit {
|
||||||
this.file = fileEntry;
|
this.file = fileEntry;
|
||||||
this.loadFileBasicData();
|
this.loadFileBasicData();
|
||||||
this.onRename.emit({ file: this.file });
|
this.onRename.emit({ file: this.file });
|
||||||
}).catch(() => {
|
}).catch((error) => {
|
||||||
this.domUtils.showErrorModal('core.errorrenamefile', true);
|
this.domUtils.showErrorModalDefault(error, 'core.errorrenamefile', true);
|
||||||
});
|
});
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
modal.dismiss();
|
modal.dismiss();
|
||||||
|
|
|
@ -74,6 +74,8 @@ export class FileMock extends File {
|
||||||
*/
|
*/
|
||||||
private copyMock(srce: Entry, destDir: DirectoryEntry, newName: string): Promise<Entry> {
|
private copyMock(srce: Entry, destDir: DirectoryEntry, newName: string): Promise<Entry> {
|
||||||
return new Promise<Entry>((resolve, reject): void => {
|
return new Promise<Entry>((resolve, reject): void => {
|
||||||
|
newName = newName.replace(/%20/g, ' '); // Replace all %20 with spaces.
|
||||||
|
|
||||||
srce.copyTo(destDir, newName, (deste) => {
|
srce.copyTo(destDir, newName, (deste) => {
|
||||||
resolve(deste);
|
resolve(deste);
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
|
@ -212,6 +214,8 @@ export class FileMock extends File {
|
||||||
getDirectory(directoryEntry: DirectoryEntry, directoryName: string, flags: Flags): Promise<DirectoryEntry> {
|
getDirectory(directoryEntry: DirectoryEntry, directoryName: string, flags: Flags): Promise<DirectoryEntry> {
|
||||||
return new Promise<DirectoryEntry>((resolve, reject): void => {
|
return new Promise<DirectoryEntry>((resolve, reject): void => {
|
||||||
try {
|
try {
|
||||||
|
directoryName = directoryName.replace(/%20/g, ' '); // Replace all %20 with spaces.
|
||||||
|
|
||||||
directoryEntry.getDirectory(directoryName, flags, (de) => {
|
directoryEntry.getDirectory(directoryName, flags, (de) => {
|
||||||
resolve(de);
|
resolve(de);
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
|
@ -235,6 +239,8 @@ export class FileMock extends File {
|
||||||
getFile(directoryEntry: DirectoryEntry, fileName: string, flags: Flags): Promise<FileEntry> {
|
getFile(directoryEntry: DirectoryEntry, fileName: string, flags: Flags): Promise<FileEntry> {
|
||||||
return new Promise<FileEntry>((resolve, reject): void => {
|
return new Promise<FileEntry>((resolve, reject): void => {
|
||||||
try {
|
try {
|
||||||
|
fileName = fileName.replace(/%20/g, ' '); // Replace all %20 with spaces.
|
||||||
|
|
||||||
directoryEntry.getFile(fileName, flags, resolve, (err) => {
|
directoryEntry.getFile(fileName, flags, resolve, (err) => {
|
||||||
this.fillErrorMessageMock(err);
|
this.fillErrorMessageMock(err);
|
||||||
reject(err);
|
reject(err);
|
||||||
|
@ -375,6 +381,8 @@ export class FileMock extends File {
|
||||||
*/
|
*/
|
||||||
private moveMock(srce: Entry, destDir: DirectoryEntry, newName: string): Promise<Entry> {
|
private moveMock(srce: Entry, destDir: DirectoryEntry, newName: string): Promise<Entry> {
|
||||||
return new Promise<Entry>((resolve, reject): void => {
|
return new Promise<Entry>((resolve, reject): void => {
|
||||||
|
newName = newName.replace(/%20/g, ' '); // Replace all %20 with spaces.
|
||||||
|
|
||||||
srce.moveTo(destDir, newName, (deste) => {
|
srce.moveTo(destDir, newName, (deste) => {
|
||||||
resolve(deste);
|
resolve(deste);
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
|
|
|
@ -56,6 +56,8 @@ export class CoreAutoFocusDirective implements OnInit {
|
||||||
protected autoFocus(): void {
|
protected autoFocus(): void {
|
||||||
const autoFocus = this.utils.isTrueOrOne(this.coreAutoFocus);
|
const autoFocus = this.utils.isTrueOrOne(this.coreAutoFocus);
|
||||||
if (autoFocus) {
|
if (autoFocus) {
|
||||||
|
// Wait a bit to make sure the view is loaded.
|
||||||
|
setTimeout(() => {
|
||||||
// If it's a ion-input or ion-textarea, search the right input to use.
|
// If it's a ion-input or ion-textarea, search the right input to use.
|
||||||
let element = this.element;
|
let element = this.element;
|
||||||
if (this.element.tagName == 'ION-INPUT') {
|
if (this.element.tagName == 'ION-INPUT') {
|
||||||
|
@ -64,8 +66,6 @@ export class CoreAutoFocusDirective implements OnInit {
|
||||||
element = this.element.querySelector('textarea') || element;
|
element = this.element.querySelector('textarea') || element;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait a bit to make sure the view is loaded.
|
|
||||||
setTimeout(() => {
|
|
||||||
this.domUtils.focusElement(element);
|
this.domUtils.focusElement(element);
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue