Bläddra i källkod

add more comments and some pipes implemented but still not used

robert2206 8 år sedan
förälder
incheckning
886bd1cbfc

+ 11 - 0
src/base/events/event-manager.ts

@@ -2,6 +2,17 @@ import { ReflectiveInjector } from "@angular/core";
 import { Events } from "ionic-angular";
 import { EventSlots } from "./event-slot";
 
+/**
+ *
+ * ███████╗██╗   ██╗███████╗███╗   ██╗████████╗███████╗███╗   ███╗ █████╗ ███╗   ██╗ █████╗  ██████╗ ███████╗██████╗ 
+ * ██╔════╝██║   ██║██╔════╝████╗  ██║╚══██╔══╝██╔════╝████╗ ████║██╔══██╗████╗  ██║██╔══██╗██╔════╝ ██╔════╝██╔══██╗
+ * █████╗  ██║   ██║█████╗  ██╔██╗ ██║   ██║   ███████╗██╔████╔██║███████║██╔██╗ ██║███████║██║  ███╗█████╗  ██████╔╝
+ * ██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║╚██╗██║   ██║   ╚════██║██║╚██╔╝██║██╔══██║██║╚██╗██║██╔══██║██║   ██║██╔══╝  ██╔══██╗
+ * ███████╗ ╚████╔╝ ███████╗██║ ╚████║   ██║   ███████║██║ ╚═╝ ██║██║  ██║██║ ╚████║██║  ██║╚██████╔╝███████╗██║  ██║
+ * ╚══════╝  ╚═══╝  ╚══════╝╚═╝  ╚═══╝   ╚═╝   ╚══════╝╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝
+ *
+ * Clase que contiene métodos que permiten compartir eventos en toda la aplicación
+ */
 export abstract class EventsManager {
 
     private static EVENTS_INSTANCE;

+ 11 - 0
src/base/events/event-slot.ts

@@ -1,5 +1,16 @@
 export type EventSlot = "app:loading"|"app:changed"|"app:error";
 
+/**
+ *
+ * ███████╗██╗   ██╗███████╗███╗   ██╗████████╗███████╗██╗      ██████╗ ████████╗███████╗
+ * ██╔════╝██║   ██║██╔════╝████╗  ██║╚══██╔══╝██╔════╝██║     ██╔═══██╗╚══██╔══╝██╔════╝
+ * █████╗  ██║   ██║█████╗  ██╔██╗ ██║   ██║   ███████╗██║     ██║   ██║   ██║   ███████╗
+ * ██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║╚██╗██║   ██║   ╚════██║██║     ██║   ██║   ██║   ╚════██║
+ * ███████╗ ╚████╔╝ ███████╗██║ ╚████║   ██║   ███████║███████╗╚██████╔╝   ██║   ███████║
+ * ╚══════╝  ╚═══╝  ╚══════╝╚═╝  ╚═══╝   ╚═╝   ╚══════╝╚══════╝ ╚═════╝    ╚═╝   ╚══════╝
+ *
+ * Clase que contiene los tipos de eventos que el manejador de eventos puede tomar
+ */
 export abstract class EventSlots {
     static LOADING: EventSlot = "app:loading";
     static CHANGED: EventSlot = "app:changed";

+ 24 - 0
src/pipes/deleted-item.ts

@@ -0,0 +1,24 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+/**
+ *
+ * ██████╗ ███████╗██╗     ███████╗████████╗███████╗██████╗ ██╗████████╗███████╗███╗   ███╗███████╗██████╗ ██╗██████╗ ███████╗
+ * ██╔══██╗██╔════╝██║     ██╔════╝╚══██╔══╝██╔════╝██╔══██╗██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝██╔══██╗██║██╔══██╗██╔════╝
+ * ██║  ██║█████╗  ██║     █████╗     ██║   █████╗  ██║  ██║██║   ██║   █████╗  ██╔████╔██║███████╗██████╔╝██║██████╔╝█████╗  
+ * ██║  ██║██╔══╝  ██║     ██╔══╝     ██║   ██╔══╝  ██║  ██║██║   ██║   ██╔══╝  ██║╚██╔╝██║╚════██║██╔═══╝ ██║██╔═══╝ ██╔══╝  
+ * ██████╔╝███████╗███████╗███████╗   ██║   ███████╗██████╔╝██║   ██║   ███████╗██║ ╚═╝ ██║███████║██║     ██║██║     ███████╗
+ * ╚═════╝ ╚══════╝╚══════╝╚══════╝   ╚═╝   ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝╚═╝     ╚══════╝
+ *
+ * Pipe que excluye de los items los items que fueron marcados como borrados
+ * Obs. Aún no injectado
+ */
+@Pipe({
+    name: "deletedItems"
+})   
+export class DeletedItemsPipe implements PipeTransform {
+    transform(items) {
+        console.log(items);
+        
+        return items;
+    }
+}

+ 65 - 0
src/pipes/filter-items.ts

@@ -0,0 +1,65 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+/**
+ *
+ * ███████╗██╗██╗  ████████╗███████╗██████╗ ██╗████████╗███████╗███╗   ███╗███████╗██████╗ ██╗██████╗ ███████╗
+ * ██╔════╝██║██║  ╚══██╔══╝██╔════╝██╔══██╗██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝██╔══██╗██║██╔══██╗██╔════╝
+ * █████╗  ██║██║     ██║   █████╗  ██████╔╝██║   ██║   █████╗  ██╔████╔██║███████╗██████╔╝██║██████╔╝█████╗  
+ * ██╔══╝  ██║██║     ██║   ██╔══╝  ██╔══██╗██║   ██║   ██╔══╝  ██║╚██╔╝██║╚════██║██╔═══╝ ██║██╔═══╝ ██╔══╝  
+ * ██║     ██║███████╗██║   ███████╗██║  ██║██║   ██║   ███████╗██║ ╚═╝ ██║███████║██║     ██║██║     ███████╗
+ * ╚═╝     ╚═╝╚══════╝╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝   ╚═╝   ╚══════╝╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝╚═╝     ╚══════╝
+ *
+ * Pipe que se aplica a filtrar en la vista de lista los elementos que cumplen condiciones aplicables a través
+ * de algunos parámetros definidos en un subfiltro
+ *
+ * Obs. Aún no injectado
+ *
+ */
+@Pipe({
+    name: "filterItems"
+})
+export class FilterItemsPipe implements PipeTransform {
+
+    /**
+     * 
+     * @param items 
+     * @param filters 
+     */
+    transform(items: Array<any>, ...filters: Array<[string, string, any]>) {
+        if (filters.length === 0) {
+            return items;
+        }
+
+        return items.filter(item => {
+            let expressions: Array<string> = filters.map(filter => { 
+                let operator = "===";
+                let leftOperand = "record." + filter[0];
+                let rightOperand = typeof(filter[2]) === "string" ? "'" + filter[2] + "'" : filter[2];
+
+                if (filter[1] === "!=") {
+                    operator = "!==";
+                }
+
+                if (filter[1] === ">") {
+                    operator = ">";
+                }
+
+                if (filter[1] === "<") {
+                    operator = "<";
+                }
+
+                if (filter[1] === ">=") {
+                    operator = "<=";
+                }
+
+                if (filter[1] === "<=") {
+                    operator = "<=";
+                }
+
+                return leftOperand + operator + rightOperand;
+            }); 
+
+            return eval(expressions.join("&&"));
+        });
+    }
+}

+ 15 - 1
src/pipes/image.ts

@@ -1,7 +1,21 @@
 import { Pipe, PipeTransform } from '@angular/core';
 import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
 
-@Pipe({ name: 'sanitizeUrl' })
+/**
+ *
+ * ██╗███╗   ███╗ █████╗  ██████╗ ███████╗███████╗ █████╗ ███╗   ██╗██╗████████╗██╗███████╗███████╗██████╗ ██████╗ ██╗██████╗ ███████╗
+ * ██║████╗ ████║██╔══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗████╗  ██║██║╚══██╔══╝██║╚══███╔╝██╔════╝██╔══██╗██╔══██╗██║██╔══██╗██╔════╝
+ * ██║██╔████╔██║███████║██║  ███╗█████╗  ███████╗███████║██╔██╗ ██║██║   ██║   ██║  ███╔╝ █████╗  ██████╔╝██████╔╝██║██████╔╝█████╗  
+ * ██║██║╚██╔╝██║██╔══██║██║   ██║██╔══╝  ╚════██║██╔══██║██║╚██╗██║██║   ██║   ██║ ███╔╝  ██╔══╝  ██╔══██╗██╔═══╝ ██║██╔═══╝ ██╔══╝  
+ * ██║██║ ╚═╝ ██║██║  ██║╚██████╔╝███████╗███████║██║  ██║██║ ╚████║██║   ██║   ██║███████╗███████╗██║  ██║██║     ██║██║     ███████╗
+ * ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝   ╚═╝   ╚═╝╚══════╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═╝     ╚══════╝
+ *
+ * Pipe que sanitiza las urls de imágenes codificadas en base64.
+ *
+ */
+@Pipe({
+    name: 'sanitizeUrl'
+})
 export class ImageSanitizerPipe implements PipeTransform {
 
     constructor(public dom: DomSanitizer) {}

+ 13 - 2
src/pipes/menu.ts

@@ -1,9 +1,20 @@
-import { Injectable, Pipe, PipeTransform } from '@angular/core';
+import { Pipe, PipeTransform } from '@angular/core';
 
+/**
+ *
+ * ███╗   ███╗███████╗███╗   ██╗██╗   ██╗██████╗ ██╗██████╗ ███████╗
+ * ████╗ ████║██╔════╝████╗  ██║██║   ██║██╔══██╗██║██╔══██╗██╔════╝
+ * ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║██████╔╝██║██████╔╝█████╗  
+ * ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║██╔═══╝ ██║██╔═══╝ ██╔══╝  
+ * ██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝██║     ██║██║     ███████╗
+ * ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚══════╝
+ *
+ * Pipe que filtra solamente los menues que serán visibles
+ *
+ */
 @Pipe({
   	name: 'menu'
 })
-@Injectable()
 export class MenuPipe implements PipeTransform {
   
     transform(menus: Array<any>, visible: boolean) {