Merge pull request #115 from DeimosPr4/UH-registroComunidadVivienda
registroComunidadVivienda
This commit is contained in:
		
						commit
						b8492a2ea7
					
				| 
						 | 
					@ -78,16 +78,15 @@ export class AppController {
 | 
				
			||||||
    @Body('canton') canton: string,
 | 
					    @Body('canton') canton: string,
 | 
				
			||||||
    @Body('district') district: string,
 | 
					    @Body('district') district: string,
 | 
				
			||||||
    @Body('num_houses') num_houses: number,
 | 
					    @Body('num_houses') num_houses: number,
 | 
				
			||||||
    @Body('phone') phone: number,
 | 
					    @Body('phone') phone: string,
 | 
				
			||||||
    @Body('quote') quote: number,
 | 
					 | 
				
			||||||
    @Body('status') status: string,
 | 
					    @Body('status') status: string,
 | 
				
			||||||
    @Body('date_entry') date_entry: Date,
 | 
					    @Body('date_entry') date_entry: Date,
 | 
				
			||||||
    @Body('houses') houses: [{}],
 | 
					    @Body('houses') houses: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ) {
 | 
					  ) {
 | 
				
			||||||
    return this.appService.createCommunity(name, province, canton,
 | 
					    return this.appService.createCommunity(name, province, canton,
 | 
				
			||||||
      district, num_houses, phone,
 | 
					      district, num_houses, phone,
 | 
				
			||||||
      quote, status, date_entry, houses);
 | 
					      status, date_entry, houses);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Get('community/allCommunities')
 | 
					  @Get('community/allCommunities')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,11 +131,11 @@ export class AppService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //POST parameter from API
 | 
					  //POST parameter from API
 | 
				
			||||||
  createCommunity(name: string, province: string, canton: string, district: string
 | 
					  createCommunity(name: string, province: string, canton: string, district: string
 | 
				
			||||||
    , num_houses: number, phone: number, quote: number, status: string, date_entry: Date, houses: [{}]) {
 | 
					    , num_houses: number, phone: string,  status: string, date_entry: Date, houses: []) {
 | 
				
			||||||
    const pattern = { cmd: 'createCommunity' };
 | 
					    const pattern = { cmd: 'createCommunity' };
 | 
				
			||||||
    const payload = {
 | 
					    const payload = {
 | 
				
			||||||
      name: name, province: province, canton: canton, district: district, num_houses: num_houses,
 | 
					      name: name, province: province, canton: canton, district: district, num_houses: num_houses,
 | 
				
			||||||
      phone: phone, quote: quote, status: status, date_entry: date_entry, houses
 | 
					      phone: phone, status: status, date_entry: date_entry, houses: houses
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    return this.clientCommunityApp
 | 
					    return this.clientCommunityApp
 | 
				
			||||||
      .send<string>(pattern, payload)
 | 
					      .send<string>(pattern, payload)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,24 +27,20 @@ export class CommunitiesService {
 | 
				
			||||||
      .find()
 | 
					      .find()
 | 
				
			||||||
      .setOptions({ sanitizeFilter: true })
 | 
					      .setOptions({ sanitizeFilter: true })
 | 
				
			||||||
      .exec()
 | 
					      .exec()
 | 
				
			||||||
      .then( async community => {
 | 
					      .then(async community => {
 | 
				
			||||||
        if(community){
 | 
					        if (community) {
 | 
				
			||||||
          await Promise.all(community.map(async c => {
 | 
					          await Promise.all(community.map(async c => {
 | 
				
			||||||
 | 
					            //buscar al usuario con el id de la comunidad anexado
 | 
				
			||||||
            let admin = await this.findCommunityAdmin(c["_id"], "2")
 | 
					            let admin = await this.findCommunityAdmin(c["_id"], "2")
 | 
				
			||||||
            if(admin){
 | 
					            if (admin) {
 | 
				
			||||||
              c["id_admin"] = admin["_id"]
 | 
					              c["id_admin"] = admin["_id"]
 | 
				
			||||||
              c["name_admin"] = admin["name"]
 | 
					              c["name_admin"] = admin["name"]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return c
 | 
					            return c
 | 
				
			||||||
          }))
 | 
					          }))
 | 
				
			||||||
 | 
					 | 
				
			||||||
          console.log(community)
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        return community;
 | 
				
			||||||
        return  community;
 | 
					 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //buscar al usuario con el id de la comunidad anexado
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  findOne(id: string): Promise<Community> {
 | 
					  findOne(id: string): Promise<Community> {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@ export class Community {
 | 
				
			||||||
    @Prop()
 | 
					    @Prop()
 | 
				
			||||||
    id_admin: string;
 | 
					    id_admin: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop({ default: "Sin Administrador" })
 | 
					    @Prop()
 | 
				
			||||||
    name_admin: string ;
 | 
					    name_admin: string ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop()
 | 
					    @Prop()
 | 
				
			||||||
| 
						 | 
					@ -29,10 +29,7 @@ export class Community {
 | 
				
			||||||
    num_houses: number;
 | 
					    num_houses: number;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop()
 | 
					    @Prop()
 | 
				
			||||||
    phone: number;
 | 
					    phone: string;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Prop()
 | 
					 | 
				
			||||||
    quote: number;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop()
 | 
					    @Prop()
 | 
				
			||||||
    status: string;
 | 
					    status: string;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose';
 | 
					import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose';
 | 
				
			||||||
 | 
					import e from 'express';
 | 
				
			||||||
import { Document } from 'mongoose';
 | 
					import { Document } from 'mongoose';
 | 
				
			||||||
 | 
					import { empty } from 'rxjs';
 | 
				
			||||||
import { Tenant, TenantSchema } from './tenant.schema';
 | 
					import { Tenant, TenantSchema } from './tenant.schema';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,14 +10,11 @@ import { Tenant, TenantSchema } from './tenant.schema';
 | 
				
			||||||
export class House extends Document  {
 | 
					export class House extends Document  {
 | 
				
			||||||
    @Prop({ default: " " })
 | 
					    @Prop({ default: " " })
 | 
				
			||||||
    number_house: string;
 | 
					    number_house: string;
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    @Prop({ default: " " })
 | 
					 | 
				
			||||||
    description: string;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop({ default: "desocupada" })
 | 
					    @Prop({ default: "desocupada" })
 | 
				
			||||||
    state: string;
 | 
					    state: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Prop({ type: TenantSchema, default: " " })
 | 
					    @Prop({ type: TenantSchema })
 | 
				
			||||||
    tenants: Tenant;
 | 
					    tenants: Tenant;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
export const HouseSchema = SchemaFactory.createForClass(House); 
 | 
					export const HouseSchema = SchemaFactory.createForClass(House); 
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@ import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Schema()
 | 
					@Schema()
 | 
				
			||||||
export class Tenant {
 | 
					export class Tenant {
 | 
				
			||||||
    @Prop()
 | 
					    @Prop( {default: ''})
 | 
				
			||||||
    tenant_id: string;
 | 
					    tenant_id: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,489 @@
 | 
				
			||||||
 | 
					[
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San José",
 | 
				
			||||||
 | 
					      "code": "101",
 | 
				
			||||||
 | 
					      "parentCode": "1", 
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Escazú",
 | 
				
			||||||
 | 
					      "code": "102",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Desamparados",
 | 
				
			||||||
 | 
					      "code": "103",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Puriscal",
 | 
				
			||||||
 | 
					      "code": "104",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Tarrazú",
 | 
				
			||||||
 | 
					      "code": "105",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Aserrí",
 | 
				
			||||||
 | 
					      "code": "106",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Mora",
 | 
				
			||||||
 | 
					      "code": "107",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Goicoechea",
 | 
				
			||||||
 | 
					      "code": "108",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Santa Ana",
 | 
				
			||||||
 | 
					      "code": "109",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Alajuelita",
 | 
				
			||||||
 | 
					      "code": "110",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Vasquez de Coronado",
 | 
				
			||||||
 | 
					      "code": "111",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Acosta",
 | 
				
			||||||
 | 
					      "code": "112",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Tibás",
 | 
				
			||||||
 | 
					      "code": "113",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Moravia",
 | 
				
			||||||
 | 
					      "code": "114",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Montes de Oca",
 | 
				
			||||||
 | 
					      "code": "115",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Turrubares",
 | 
				
			||||||
 | 
					      "code": "116",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Dota",
 | 
				
			||||||
 | 
					      "code": "117",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Curridabat",
 | 
				
			||||||
 | 
					      "code": "118",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Pérez Zeledón",
 | 
				
			||||||
 | 
					      "code": "119",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "León Cortés",
 | 
				
			||||||
 | 
					      "code": "120",
 | 
				
			||||||
 | 
					      "parentCode": "1",
 | 
				
			||||||
 | 
					      "isoParent": "SJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Alajuela",
 | 
				
			||||||
 | 
					      "code": "201",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Ramón",
 | 
				
			||||||
 | 
					      "code": "202",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Grecia",
 | 
				
			||||||
 | 
					      "code": "203",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Mateo",
 | 
				
			||||||
 | 
					      "code": "204",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Atenas",
 | 
				
			||||||
 | 
					      "code": "205",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Naranjo",
 | 
				
			||||||
 | 
					      "code": "206",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Palmares",
 | 
				
			||||||
 | 
					      "code": "207",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Poás",
 | 
				
			||||||
 | 
					      "code": "208",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Orotina",
 | 
				
			||||||
 | 
					      "code": "209",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Carlos",
 | 
				
			||||||
 | 
					      "code": "210",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Alfaro Ruiz",
 | 
				
			||||||
 | 
					      "code": "211",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Valverde Vega",
 | 
				
			||||||
 | 
					      "code": "212",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Upala",
 | 
				
			||||||
 | 
					      "code": "213",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Los Chiles",
 | 
				
			||||||
 | 
					      "code": "214",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Guatuso",
 | 
				
			||||||
 | 
					      "code": "215",
 | 
				
			||||||
 | 
					      "parentCode": "2",
 | 
				
			||||||
 | 
					      "isoParent": "ALAJ"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Cartago",
 | 
				
			||||||
 | 
					      "code": "301",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Paraíso",
 | 
				
			||||||
 | 
					      "code": "302",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "La Unión",
 | 
				
			||||||
 | 
					      "code": "303",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Jiménez",
 | 
				
			||||||
 | 
					      "code": "304",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Turrialba",
 | 
				
			||||||
 | 
					      "code": "305",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Alvarado",
 | 
				
			||||||
 | 
					      "code": "306",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Oreamuno",
 | 
				
			||||||
 | 
					      "code": "307",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "El Guarco",
 | 
				
			||||||
 | 
					      "code": "308",
 | 
				
			||||||
 | 
					      "parentCode": "3",
 | 
				
			||||||
 | 
					      "isoParent": "CAR"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Heredia",
 | 
				
			||||||
 | 
					      "code": "401",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Barva",
 | 
				
			||||||
 | 
					      "code": "402",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Santo Domingo",
 | 
				
			||||||
 | 
					      "code": "403",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Santa Bárbara",
 | 
				
			||||||
 | 
					      "code": "404",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Rafael",
 | 
				
			||||||
 | 
					      "code": "405",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Isidro",
 | 
				
			||||||
 | 
					      "code": "406",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Belén",
 | 
				
			||||||
 | 
					      "code": "407",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Flores",
 | 
				
			||||||
 | 
					      "code": "408",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "San Pablo",
 | 
				
			||||||
 | 
					      "code": "409",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Sarapiquí ",
 | 
				
			||||||
 | 
					      "code": "410",
 | 
				
			||||||
 | 
					      "parentCode": "4",
 | 
				
			||||||
 | 
					      "isoParent": "HER"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Liberia",
 | 
				
			||||||
 | 
					      "code": "501",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Nicoya",
 | 
				
			||||||
 | 
					      "code": "502",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Santa Cruz",
 | 
				
			||||||
 | 
					      "code": "503",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Bagaces",
 | 
				
			||||||
 | 
					      "code": "504",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Carrillo",
 | 
				
			||||||
 | 
					      "code": "505",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Cañas",
 | 
				
			||||||
 | 
					      "code": "506",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Abangares",
 | 
				
			||||||
 | 
					      "code": "507",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Tilarán",
 | 
				
			||||||
 | 
					      "code": "508",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Nandayure",
 | 
				
			||||||
 | 
					      "code": "509",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "La Cruz",
 | 
				
			||||||
 | 
					      "code": "510",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Hojancha",
 | 
				
			||||||
 | 
					      "code": "511",
 | 
				
			||||||
 | 
					      "parentCode": "5",
 | 
				
			||||||
 | 
					      "isoParent": "GUANA"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Puntarenas",
 | 
				
			||||||
 | 
					      "code": "601",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Esparza",
 | 
				
			||||||
 | 
					      "code": "602",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Buenos Aires",
 | 
				
			||||||
 | 
					      "code": "603",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Montes de Oro",
 | 
				
			||||||
 | 
					      "code": "604",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Osa",
 | 
				
			||||||
 | 
					      "code": "605",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Aguirre",
 | 
				
			||||||
 | 
					      "code": "606",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Golfito",
 | 
				
			||||||
 | 
					      "code": "607",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Coto Brus",
 | 
				
			||||||
 | 
					      "code": "608",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Parrita",
 | 
				
			||||||
 | 
					      "code": "609",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Corredores",
 | 
				
			||||||
 | 
					      "code": "610",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Garabito",
 | 
				
			||||||
 | 
					      "code": "611",
 | 
				
			||||||
 | 
					      "parentCode": "6",
 | 
				
			||||||
 | 
					      "isoParent": "PUNT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Limón",
 | 
				
			||||||
 | 
					      "code": "701",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Pococí",
 | 
				
			||||||
 | 
					      "code": "702",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Siquirres ",
 | 
				
			||||||
 | 
					      "code": "703",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Talamanca",
 | 
				
			||||||
 | 
					      "code": "704",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Matina",
 | 
				
			||||||
 | 
					      "code": "705",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "Guácimo",
 | 
				
			||||||
 | 
					      "code": "706",
 | 
				
			||||||
 | 
					      "parentCode": "7",
 | 
				
			||||||
 | 
					      "isoParent": "LIM"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					[
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"San José",
 | 
				
			||||||
 | 
					       "code":"1"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Alajuela",
 | 
				
			||||||
 | 
					       "code":"2"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Cartago",
 | 
				
			||||||
 | 
					       "code":"3"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Heredia",
 | 
				
			||||||
 | 
					       "code":"4"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Guanacaste",
 | 
				
			||||||
 | 
					       "code":"5"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Puntarenas",
 | 
				
			||||||
 | 
					       "code":"6"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       "name":"Limón",
 | 
				
			||||||
 | 
					       "code":"7"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					 ]
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -9,7 +9,7 @@
 | 
				
			||||||
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
 | 
					        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
 | 
				
			||||||
        <meta name="apple-mobile-web-app-capable" content="yes" />
 | 
					        <meta name="apple-mobile-web-app-capable" content="yes" />
 | 
				
			||||||
        <link rel="icon" type="image/x-icon" href="%PUBLIC_URL%/favicon.ico" />
 | 
					        <link rel="icon" type="image/x-icon" href="%PUBLIC_URL%/favicon.ico" />
 | 
				
			||||||
        <link id="theme-link" rel="stylesheet" href="%PUBLIC_URL%/assets/themes/lara-light-indigo/theme.css">
 | 
					        <link id="theme-link" rel="stylesheet" href="%PUBLIC_URL%/assets/themes/khaki/theme.css">
 | 
				
			||||||
    </head>
 | 
					    </head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <body>
 | 
					    <body>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,14 +2,14 @@ import React, { useCallback, useEffect, useRef, useState } from 'react';
 | 
				
			||||||
import { RadioButton } from 'primereact/radiobutton';
 | 
					import { RadioButton } from 'primereact/radiobutton';
 | 
				
			||||||
import { InputSwitch } from 'primereact/inputswitch';
 | 
					import { InputSwitch } from 'primereact/inputswitch';
 | 
				
			||||||
import classNames from 'classnames';
 | 
					import classNames from 'classnames';
 | 
				
			||||||
import {Button} from "primereact/button";
 | 
					import { Button } from "primereact/button";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const AppConfig = (props) => {
 | 
					export const AppConfig = (props) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const [active, setActive] = useState(false);
 | 
					    const [active, setActive] = useState(false);
 | 
				
			||||||
    const [scale, setScale] = useState(14);
 | 
					    const [scale, setScale] = useState(14);
 | 
				
			||||||
    const [scales] = useState([12,13,14,15,16]);
 | 
					    const [scales] = useState([12, 13, 14, 15, 16]);
 | 
				
			||||||
    const [theme, setTheme] = useState('lara-light-indigo');
 | 
					    const [theme, setTheme] = useState('khaki');
 | 
				
			||||||
    const config = useRef(null);
 | 
					    const config = useRef(null);
 | 
				
			||||||
    let outsideClickListener = useRef(null);
 | 
					    let outsideClickListener = useRef(null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -96,14 +96,14 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },[])
 | 
					    }, [])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    useEffect(() => {
 | 
					    useEffect(() => {
 | 
				
			||||||
        let themeElement = document.getElementById('theme-link');
 | 
					        let themeElement = document.getElementById('theme-link');
 | 
				
			||||||
        const themeHref = 'assets/themes/' + theme + '/theme.css';
 | 
					        const themeHref = 'assets/themes/' + theme + '/theme.css';
 | 
				
			||||||
        replaceLink(themeElement, themeHref);
 | 
					        replaceLink(themeElement, themeHref);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    },[theme,replaceLink])
 | 
					    }, [theme, replaceLink])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const isIE = () => {
 | 
					    const isIE = () => {
 | 
				
			||||||
        return /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent)
 | 
					        return /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent)
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ export const AppConfig = (props) => {
 | 
				
			||||||
            <button className="layout-config-button p-link" id="layout-config-button" onClick={toggleConfigurator}>
 | 
					            <button className="layout-config-button p-link" id="layout-config-button" onClick={toggleConfigurator}>
 | 
				
			||||||
                <i className="pi pi-cog"></i>
 | 
					                <i className="pi pi-cog"></i>
 | 
				
			||||||
            </button>
 | 
					            </button>
 | 
				
			||||||
            <Button className="p-button-danger layout-config-close p-button-rounded p-button-text" icon="pi pi-times" onClick={hideConfigurator}/>
 | 
					            <Button className="p-button-danger layout-config-close p-button-rounded p-button-text" icon="pi pi-times" onClick={hideConfigurator} />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <div className="layout-config-content">
 | 
					            <div className="layout-config-content">
 | 
				
			||||||
                <h5 className="mt-0">Component Scale</h5>
 | 
					                <h5 className="mt-0">Component Scale</h5>
 | 
				
			||||||
| 
						 | 
					@ -127,7 +127,7 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                    <Button icon="pi pi-minus" onClick={decrementScale} className="p-button-text" disabled={scale === scales[0]} />
 | 
					                    <Button icon="pi pi-minus" onClick={decrementScale} className="p-button-text" disabled={scale === scales[0]} />
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        scales.map((item) => {
 | 
					                        scales.map((item) => {
 | 
				
			||||||
                            return <i className={classNames('pi pi-circle-on', {'scale-active': item === scale})} key={item}/>
 | 
					                            return <i className={classNames('pi pi-circle-on', { 'scale-active': item === scale })} key={item} />
 | 
				
			||||||
                        })
 | 
					                        })
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    <Button icon="pi pi-plus" onClick={incrementScale} className="p-button-text" disabled={scale === scales[scales.length - 1]} />
 | 
					                    <Button icon="pi pi-plus" onClick={incrementScale} className="p-button-text" disabled={scale === scales[scales.length - 1]} />
 | 
				
			||||||
| 
						 | 
					@ -165,22 +165,22 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-light-blue', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-light-blue', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/bootstrap4-light-blue.svg" alt="Bootstrap Light Blue"/>
 | 
					                            <img src="assets/layout/images/themes/bootstrap4-light-blue.svg" alt="Bootstrap Light Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-light-purple', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-light-purple', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/bootstrap4-light-purple.svg" alt="Bootstrap Light Purple"/>
 | 
					                            <img src="assets/layout/images/themes/bootstrap4-light-purple.svg" alt="Bootstrap Light Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-dark-blue', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-dark-blue', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/bootstrap4-dark-blue.svg" alt="Bootstrap Dark Blue"/>
 | 
					                            <img src="assets/layout/images/themes/bootstrap4-dark-blue.svg" alt="Bootstrap Dark Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-dark-purple', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'bootstrap4-dark-purple', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/bootstrap4-dark-purple.svg" alt="Bootstrap Dark Purple"/>
 | 
					                            <img src="assets/layout/images/themes/bootstrap4-dark-purple.svg" alt="Bootstrap Dark Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -189,22 +189,27 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'md-light-indigo', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'md-light-indigo', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo" />
 | 
				
			||||||
 | 
					                        </button>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'md-light-indigo', 'light')}>
 | 
				
			||||||
 | 
					                            <img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'md-light-deeppurple', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'md-light-deeppurple', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple"/>
 | 
					                            <img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'md-dark-indigo', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'md-dark-indigo', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'md-dark-deeppurple', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'md-dark-deeppurple', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple"/>
 | 
					                            <img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -213,22 +218,22 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-light-indigo', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-light-indigo', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-light-deeppurple', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-light-deeppurple', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple"/>
 | 
					                            <img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-dark-indigo', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-dark-indigo', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-dark-deeppurple', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'mdc-dark-deeppurple', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple"/>
 | 
					                            <img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -237,7 +242,7 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'tailwind-light', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'tailwind-light', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/tailwind-light.png" alt="Tailwind Light"/>
 | 
					                            <img src="assets/layout/images/themes/tailwind-light.png" alt="Tailwind Light" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -246,51 +251,56 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'fluent-light', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'fluent-light', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/fluent-light.png" alt="Fluent Light"/>
 | 
					                            <img src="assets/layout/images/themes/fluent-light.png" alt="Fluent Light" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <h6>PrimeOne Design - 2022</h6>
 | 
					                <h6>PrimeOne Design - 2022</h6>
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'khaki', 'light')}>
 | 
				
			||||||
 | 
					                            <img src="assets/layout/images/themes/lara-light-indigo.png" alt="Khaki" />
 | 
				
			||||||
 | 
					                        </button>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-indigo', 'light')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-indigo', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-light-indigo.png" alt="Lara Light Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/lara-light-indigo.png" alt="Lara Light Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-blue', 'light')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-blue', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-light-blue.png" alt="Lara Light Blue"/>
 | 
					                            <img src="assets/layout/images/themes/lara-light-blue.png" alt="Lara Light Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-purple', 'light')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-purple', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-light-purple.png" alt="Lara Light Purple"/>
 | 
					                            <img src="assets/layout/images/themes/lara-light-purple.png" alt="Lara Light Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-teal', 'light')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-light-teal', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-light-teal.png" alt="Lara Light Teal"/>
 | 
					                            <img src="assets/layout/images/themes/lara-light-teal.png" alt="Lara Light Teal" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-indigo', 'dark')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-indigo', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-dark-indigo.png" alt="Lara Dark Indigo"/>
 | 
					                            <img src="assets/layout/images/themes/lara-dark-indigo.png" alt="Lara Dark Indigo" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-blue', 'dark')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-blue', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-dark-blue.png" alt="Lara Dark Blue"/>
 | 
					                            <img src="assets/layout/images/themes/lara-dark-blue.png" alt="Lara Dark Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-purple', 'dark')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-purple', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-dark-purple.png" alt="Lara Dark Purple"/>
 | 
					                            <img src="assets/layout/images/themes/lara-dark-purple.png" alt="Lara Dark Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-teal', 'dark')}>
 | 
					                        <button className="p-link" onClick={(e) => changeTheme(e, 'lara-dark-teal', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/lara-dark-teal.png" alt="Lara Dark Teal"/>
 | 
					                            <img src="assets/layout/images/themes/lara-dark-teal.png" alt="Lara Dark Teal" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -299,62 +309,62 @@ export const AppConfig = (props) => {
 | 
				
			||||||
                <div className="grid free-themes">
 | 
					                <div className="grid free-themes">
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'saga-blue', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'saga-blue', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/saga-blue.png" alt="Saga Blue"/>
 | 
					                            <img src="assets/layout/images/themes/saga-blue.png" alt="Saga Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'saga-green', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'saga-green', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/saga-green.png" alt="Saga Green"/>
 | 
					                            <img src="assets/layout/images/themes/saga-green.png" alt="Saga Green" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'saga-orange', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'saga-orange', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/saga-orange.png" alt="Saga Orange"/>
 | 
					                            <img src="assets/layout/images/themes/saga-orange.png" alt="Saga Orange" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'saga-purple', 'light')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'saga-purple', 'light')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/saga-purple.png" alt="Saga Purple"/>
 | 
					                            <img src="assets/layout/images/themes/saga-purple.png" alt="Saga Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'vela-blue', 'dim')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'vela-blue', 'dim')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/vela-blue.png" alt="Vela Blue"/>
 | 
					                            <img src="assets/layout/images/themes/vela-blue.png" alt="Vela Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'vela-green', 'dim')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'vela-green', 'dim')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/vela-green.png" alt="Vela Green"/>
 | 
					                            <img src="assets/layout/images/themes/vela-green.png" alt="Vela Green" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'vela-orange', 'dim')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'vela-orange', 'dim')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/vela-orange.png" alt="Vela Orange"/>
 | 
					                            <img src="assets/layout/images/themes/vela-orange.png" alt="Vela Orange" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'vela-purple', 'dim')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'vela-purple', 'dim')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/vela-purple.png" alt="Vela Purple"/>
 | 
					                            <img src="assets/layout/images/themes/vela-purple.png" alt="Vela Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'arya-blue', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'arya-blue', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/arya-blue.png" alt="Arya Blue"/>
 | 
					                            <img src="assets/layout/images/themes/arya-blue.png" alt="Arya Blue" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'arya-green', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'arya-green', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/arya-green.png" alt="Arya Green"/>
 | 
					                            <img src="assets/layout/images/themes/arya-green.png" alt="Arya Green" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'arya-orange', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'arya-orange', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/arya-orange.png" alt="Arya Orange"/>
 | 
					                            <img src="assets/layout/images/themes/arya-orange.png" alt="Arya Orange" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <div className="col-3 text-center">
 | 
					                    <div className="col-3 text-center">
 | 
				
			||||||
                        <button className="p-link" onClick={e => changeTheme(e, 'arya-purple', 'dark')}>
 | 
					                        <button className="p-link" onClick={e => changeTheme(e, 'arya-purple', 'dark')}>
 | 
				
			||||||
                            <img src="assets/layout/images/themes/arya-purple.png" alt="Arya Purple"/>
 | 
					                            <img src="assets/layout/images/themes/arya-purple.png" alt="Arya Purple" />
 | 
				
			||||||
                        </button>
 | 
					                        </button>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,47 +1,346 @@
 | 
				
			||||||
import React, { useEffect, useState } from 'react';
 | 
					import React, { useEffect, useState, useRef } from 'react';
 | 
				
			||||||
import { InputText } from 'primereact/inputtext';
 | 
					import { InputText } from 'primereact/inputtext';
 | 
				
			||||||
import { Button } from 'primereact/button';
 | 
					import { Button } from 'primereact/button';
 | 
				
			||||||
import { DataTable } from 'primereact/datatable';
 | 
					import { DataTable } from 'primereact/datatable';
 | 
				
			||||||
import { Column } from 'primereact/column';
 | 
					import { Column } from 'primereact/column';
 | 
				
			||||||
 | 
					import { Dropdown } from 'primereact/dropdown';
 | 
				
			||||||
 | 
					import { Toast } from 'primereact/toast';
 | 
				
			||||||
 | 
					import classNames from 'classnames';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Communities = () => {
 | 
					const Communities = () => {
 | 
				
			||||||
    const [communitiesList, setCommunitiesList] = useState([]);
 | 
					 | 
				
			||||||
    const [housesList, setHousesList] = useState([]);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let emptyCommunity = {
 | 
				
			||||||
 | 
					        name: '',
 | 
				
			||||||
 | 
					        province: provinciaId,
 | 
				
			||||||
 | 
					        canton: cantonId,
 | 
				
			||||||
 | 
					        district: districtId,
 | 
				
			||||||
 | 
					        phone: '',
 | 
				
			||||||
 | 
					        num_houses: 0,
 | 
				
			||||||
 | 
					        status: 'activo',
 | 
				
			||||||
 | 
					        date_entry: new Date(),
 | 
				
			||||||
 | 
					        houses: [],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const [communitiesList, setCommunitiesList] = useState([]);
 | 
				
			||||||
 | 
					    const [community, setCommunity] = useState(emptyCommunity);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const [housesList, setHousesList] = useState([]);
 | 
				
			||||||
 | 
					    const [provincesList, setProvincesList] = useState([]);
 | 
				
			||||||
 | 
					    const [provinciaId, setProvinciaId] = useState(null);
 | 
				
			||||||
 | 
					    const [cantonsList, setCantonsList] = useState([]);
 | 
				
			||||||
 | 
					    const [cantonId, setCantonId] = useState(null);
 | 
				
			||||||
 | 
					    const [districtsList, setDistrictsList] = useState([]);
 | 
				
			||||||
 | 
					    const [districtId, setDistrictId] = useState(null);
 | 
				
			||||||
 | 
					    const [codeHouses, setCodeHouses] = useState(null);
 | 
				
			||||||
 | 
					    const [submitted, setSubmitted] = useState(false);
 | 
				
			||||||
 | 
					    const toast = useRef(null);
 | 
				
			||||||
 | 
					    const dt = useRef(null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const p = provincesList.map((item) => ({
 | 
				
			||||||
 | 
					        label: item.name,
 | 
				
			||||||
 | 
					        value: item.code
 | 
				
			||||||
 | 
					    }))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const c = cantonsList.map((item) => ({
 | 
				
			||||||
 | 
					        label: item.name,
 | 
				
			||||||
 | 
					        value: item.code,
 | 
				
			||||||
 | 
					        parent: item.parentCode
 | 
				
			||||||
 | 
					    }))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const d = districtsList.map((item) => ({
 | 
				
			||||||
 | 
					        label: item.name,
 | 
				
			||||||
 | 
					        value: item.code,
 | 
				
			||||||
 | 
					        parent: item.parentCode
 | 
				
			||||||
 | 
					    }))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    useEffect(() => {
 | 
				
			||||||
 | 
					        fillProvinces();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }, [])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    useEffect(() => {
 | 
				
			||||||
 | 
					        fillCantons();
 | 
				
			||||||
 | 
					    }, [provinciaId])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    useEffect(() => {
 | 
				
			||||||
 | 
					        fillDistricts();
 | 
				
			||||||
 | 
					    }, [cantonId])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function getProvinces() {
 | 
				
			||||||
 | 
					        const response = await fetch('assets/demo/data/provincias.json', { method: 'GET' });
 | 
				
			||||||
 | 
					        return await response.json();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function fillProvinces() {
 | 
				
			||||||
 | 
					        const getP = await getProvinces();
 | 
				
			||||||
 | 
					        setProvincesList(await getP);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function getCantons() {
 | 
				
			||||||
 | 
					        const response = await fetch('assets/demo/data/cantones.json', { method: 'GET' });
 | 
				
			||||||
 | 
					        return await response.json();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function fillCantons() {
 | 
				
			||||||
 | 
					        const resJson = await getCantons();
 | 
				
			||||||
 | 
					        const cantones = await resJson.filter(function (i, n) {
 | 
				
			||||||
 | 
					            return i.parentCode === provinciaId;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        setCantonsList(await cantones);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function getDistricts() {
 | 
				
			||||||
 | 
					        const response = await fetch('assets/demo/data/distritos.json', { method: 'GET' });
 | 
				
			||||||
 | 
					        return await response.json();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async function fillDistricts() {
 | 
				
			||||||
 | 
					        const resJson = await getDistricts();
 | 
				
			||||||
 | 
					        const districts = await resJson.filter(function (i, n) {
 | 
				
			||||||
 | 
					            return i.parentCode === cantonId;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        setDistrictsList(await districts);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const handleProvinces = (event) => {
 | 
				
			||||||
 | 
					        const getprovinciaId = event.target.value;
 | 
				
			||||||
 | 
					        setProvinciaId(getprovinciaId);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const handleCanton = (event) => {
 | 
				
			||||||
 | 
					        const getCantonId = event.target.value;
 | 
				
			||||||
 | 
					        setCantonId(getCantonId);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const handleDistrict = (event) => {
 | 
				
			||||||
 | 
					        const getDistrictId = event.target.value;
 | 
				
			||||||
 | 
					        setDistrictId(getDistrictId);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const handleCodeHouses = (event) => {
 | 
				
			||||||
 | 
					        const getcodehouse = event.target.value;
 | 
				
			||||||
 | 
					        setCodeHouses(getcodehouse);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async function getCommunites() {
 | 
					    async function getCommunites() {
 | 
				
			||||||
        let response = await fetch('http://localhost:4000/community/allCommunities', { method: 'GET' });
 | 
					        let response = await fetch('http://localhost:4000/community/allCommunities', { method: 'GET' });
 | 
				
			||||||
        let list = await response.json();
 | 
					        let resJson = await response.json();
 | 
				
			||||||
        setCommunitiesList(list.message);
 | 
					        let pList = await getProvinces();
 | 
				
			||||||
 | 
					        let cList = await getCantons();
 | 
				
			||||||
 | 
					        let dList = await getDistricts();
 | 
				
			||||||
 | 
					         await resJson.message.map((item) => {
 | 
				
			||||||
 | 
					            item.province = pList.find(p => p.code === item.province).name
 | 
				
			||||||
 | 
					            item.canton = cList.find(p => p.code === item.canton).name
 | 
				
			||||||
 | 
					            item.district = dList.find(p => p.code === item.district).name
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        setCommunitiesList(await resJson.message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    useEffect(() => {
 | 
					    useEffect(() => {
 | 
				
			||||||
        getCommunites();
 | 
					        getCommunites();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }, [])
 | 
					    }, [])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const saveCommunity = () => {
 | 
				
			||||||
 | 
					        setSubmitted(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if (community.name.trim()) {
 | 
				
			||||||
 | 
					            let _communities = [...communitiesList];
 | 
				
			||||||
 | 
					            let _community = { ...community };
 | 
				
			||||||
 | 
					            _community.province = provinciaId;
 | 
				
			||||||
 | 
					            _community.canton = cantonId;
 | 
				
			||||||
 | 
					            _community.district = districtId;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for (let i = 0; i < _community.num_houses; i++){
 | 
				
			||||||
 | 
					                _community.houses.push({
 | 
				
			||||||
 | 
					                    number_house: codeHouses + (i+1),
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					           // console.log(houses)
 | 
				
			||||||
 | 
					            fetch('http://localhost:4000/community/createCommunity', {
 | 
				
			||||||
 | 
					                cache: 'no-cache',
 | 
				
			||||||
 | 
					                method: 'POST',
 | 
				
			||||||
 | 
					                body: JSON.stringify(_community),
 | 
				
			||||||
 | 
					                headers: {
 | 
				
			||||||
 | 
					                    'Content-Type': 'application/json'
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            .then(
 | 
				
			||||||
 | 
					                function (response) {
 | 
				
			||||||
 | 
					                    if (response.status != 201)
 | 
				
			||||||
 | 
					                        console.log('Ocurrió un error con el servicio: ' + response.status);
 | 
				
			||||||
 | 
					                    else
 | 
				
			||||||
 | 
					                        return response.json();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            .then(() => {
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                _community.province = provincesList.find(p => p.code === _community.province).name
 | 
				
			||||||
 | 
					                _community.canton = cantonsList.find(p => p.code === _community.canton).name
 | 
				
			||||||
 | 
					                _community.district = districtsList.find(p => p.code === _community.district).name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                _communities.push(_community);
 | 
				
			||||||
 | 
					                toast.current.show({ severity: 'success', summary: 'Registro exitoso', detail: 'Comunidad de vivienda Creada', life: 3000 });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                setCommunitiesList(_communities);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                setProvinciaId('');
 | 
				
			||||||
 | 
					                setCantonId('');
 | 
				
			||||||
 | 
					                setDistrictId('');
 | 
				
			||||||
 | 
					                setCodeHouses('');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                setCommunity(emptyCommunity);
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            .catch(
 | 
				
			||||||
 | 
					                err => console.log('Ocurrió un error con el fetch', err)
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const onInputChange = (e, name) => {
 | 
				
			||||||
 | 
					        const val = (e.target && e.target.value) || '';
 | 
				
			||||||
 | 
					        let _community = { ...community };
 | 
				
			||||||
 | 
					        _community[`${name}`] = val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        setCommunity(_community);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
        <div className="grid">
 | 
					        <div className="grid">
 | 
				
			||||||
            <div className="col-12">
 | 
					            <div className="col-12">
 | 
				
			||||||
                <div className="card">
 | 
					                <div className="card">
 | 
				
			||||||
                    <h5>Comunidades de Viviendas</h5>
 | 
					                    <h5>Comunidades de Viviendas</h5>
 | 
				
			||||||
                    <DataTable value={communitiesList}  scrollable scrollHeight="400px" scrollDirection="both" className="mt-3">
 | 
					
 | 
				
			||||||
 | 
					                    <DataTable value={communitiesList} scrollable scrollHeight="400px" scrollDirection="both" className="mt-3">
 | 
				
			||||||
                        <Column field="name" header="Nombre" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
					                        <Column field="name" header="Nombre" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
				
			||||||
                        <Column field="province" header="Provincia" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
					                        <Column field="province" header="Provincia" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
				
			||||||
                        <Column field="canton" header="Cantón" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
					                        <Column field="canton" header="Cantón" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
				
			||||||
                        <Column field="district" header="Distrito" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
					                        <Column field="district" header="Distrito" style={{ flexGrow: 1, flexBasis: '160px' }}></Column>
 | 
				
			||||||
                        <Column field="phone" header="Telefóno" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
					                        <Column field="phone" header="Telefóno" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
				
			||||||
                        <Column field="num_houses" header="Número de viviendas" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
					                        <Column field="num_houses" header="Número de viviendas" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
				
			||||||
                        <Column field="quote" header="Cuota mensual" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
					 | 
				
			||||||
                        <Column field="name_admin" header="Administrador" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
					                        <Column field="name_admin" header="Administrador" style={{ flexGrow: 1, flexBasis: '180px' }}></Column>
 | 
				
			||||||
                    </DataTable>
 | 
					                    </DataTable>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </div>
 | 
					            <div className="col-12">
 | 
				
			||||||
 | 
					                <div className="card">
 | 
				
			||||||
 | 
					                <Toast ref={toast} />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        
 | 
					                    <h5>Registro de comunidad de viviendas</h5>
 | 
				
			||||||
)
 | 
					                    <div className="p-fluid formgrid grid">
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-12">
 | 
				
			||||||
 | 
					                        <label htmlFor="name">Nombre</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-home"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <InputText id="name"  value={community.name} onChange={(e) => onInputChange(e, 'name')} required autoFocus className={classNames( submitted && community.name==='' ? 'p-invalid' : ''   )} />
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && community.name==='' && <small className="p-invalid">Nombre es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="provinces">Provincia</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-map-marker"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <Dropdown placeholder="--Seleccione Provincia--" value={provinciaId} options={p} onChange={handleProvinces} required autoFocus className={classNames({ 'p-invalid': submitted && !provinciaId } )} />
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted && !provinciaId && <small className="p-invalid">Provincia es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="cantons">Cantón</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-map-marker"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <Dropdown placeholder="--Seleccione Cantón--" value={cantonId} options={c} onChange={handleCanton} required  autoFocus className={classNames({ 'p-invalid': submitted && !cantonId } )}/>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && !cantonId && <small className="p-invalid">Cantón es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="districts">Distrito</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-map-marker"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <Dropdown placeholder="--Seleccione Distrito--" value={districtId} options={d} onChange={handleDistrict} required  autoFocus className={classNames({ 'p-invalid': submitted && !districtId } )}/>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && !districtId && <small className="p-invalid">Distrito es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="telefono">Número de Teléfono</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-phone"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <InputText id="phone"  value={community.phone} onChange={(e) => onInputChange(e, 'phone')} required autoFocus className={classNames({ 'p-invalid': submitted && community.phone==='' } )} />
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && community.phone==='' && <small className="p-invalid">Número de teléfono es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="numHouse">Numero de Viviendas</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-hashtag"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <InputText id="num_houses"  value={community.num_houses} onChange={(e) => onInputChange(e, 'num_houses')} required autoFocus className={classNames({ 'p-invalid': submitted && community.num_houses < 1 } )} />
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && community.num_houses < 1 && <small className="p-invalid">Número de viviendas es requirido y debe ser mayor que 0.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="field col-12 md:col-6">
 | 
				
			||||||
 | 
					                            <label htmlFor="numHouse">Ingrese el prefijo para el código de las viviendas</label>
 | 
				
			||||||
 | 
					                            <div className="p-0 col-12 md:col-12">
 | 
				
			||||||
 | 
					                                <div className="p-inputgroup">
 | 
				
			||||||
 | 
					                                    <span className="p-inputgroup-addon p-button p-icon-input-khaki">
 | 
				
			||||||
 | 
					                                        <i className="pi pi-hashtag"></i>
 | 
				
			||||||
 | 
					                                    </span>
 | 
				
			||||||
 | 
					                                    <InputText id="code_houses"  value={codeHouses} onChange={handleCodeHouses} required autoFocus className={classNames({ 'p-invalid': submitted && !codeHouses } )} />
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                {submitted  && !codeHouses && <small className="p-invalid">El código para las viviendas es requirido.</small>}
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div className="col-12 md:col-12 py-2">
 | 
				
			||||||
 | 
					                            <Button label="Registrar" icon="pi pi-check" onClick={saveCommunity}></Button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default React.memo(Communities);
 | 
					export default React.memo(Communities);
 | 
				
			||||||
		Loading…
	
		Reference in New Issue