archivos.component.ts 26.94 KiB
import { Component, ViewChild } from "@angular/core";
import { Archivo, Grupo } from "../../shared/objects/archivo";
import { AuthenticationService } from "../../shared/services/authentication.service";
import { HaskellService } from "../../shared/services/haskell.service";
import { SessionService } from "../../shared/services/session.service";
import { NotificacionService } from "../../shared/services/notificacion.service";
import { Router, ActivatedRoute } from "@angular/router";
import { LtCodemirrorComponent } from "lt-codemirror";
import { NgbPopoverConfig, NgbPopover } from "@ng-bootstrap/ng-bootstrap";
import { TranslateService } from "@ngx-translate/core";
import { TitleCasePipe } from "../../shared/pipes/titlecase.pipe";
import "codemirror/mode/haskell/haskell";
import "codemirror/addon/display/panel";
import "codemirror/addon/hint/show-hint";
import "codemirror/addon/hint/anyword-hint";
import "codemirror/mode/markdown/markdown";
const STARTS_WITH_CAPITAL_LETTER_REGEX = /^[A-Z]/;
const ID_ROOT_DIR = -1;
@Component({
selector: "archivos",
templateUrl: "./archivos.component.html",
})
export class ArchivosComponent {
translateService: any;
titlecasePipe: any;
archivos: Archivo[] = [];
archivosCompartidos: Archivo[] = [];
archivosCompartidosSinDuplicados: Archivo[] = [];
archivoSeleccionado: Archivo;
loading: boolean = false;
loadingCompartidos: boolean = false;
filtroNombre: string = "";
idRecorridos: any = [];
esAlumno: boolean;
tree: any;
preview: string = "";
directorioActual: any;
sortFunction: any;
configCodeMirror = JSON.parse(sessionStorage.getItem("codeMirrorConfig"));
/**
* Determina la ruta en donde se encuentra ubicado el archivo/directorio
* seleccionado actualmente.
*/
currentPath: string = "/";
/**
* Con `true` se configura el modal para que se muestre la interfaz de
* agregar/borrar archivo. De otro modo, se muestra la interfaz de
* agregar/borrar directorio
*/
modalTypeIsFile = true;
// - - - - - - - - - - - - - Modal create file - - - - - - - - - - - - -
/**
* Con `true` se renderiza el modal de crear un archivo
*/
modalCreateFile = false;
/**
* Con `true` se indica que el modal -de crear un archivo- se quiere abrir.
* Útil para avisar al modal que anime el dismiss antes de que se elimine del
* DOM
*/
modalCreateFileOpened = true;