Skip to content
This repository has been archived by the owner on Feb 4, 2025. It is now read-only.

Commit

Permalink
Merge pull request #200 from CampusDual/develop
Browse files Browse the repository at this point in the history
Pre-review
  • Loading branch information
juanjo-alvarez authored Dec 12, 2024
2 parents 177d6f4 + 751eca9 commit 3aab51a
Show file tree
Hide file tree
Showing 75 changed files with 1,936 additions and 262 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ public interface IBootcampService {
AdvancedEntityResult bootcampPaginationQuery(final Map<String, Object> keyMap, final List<?> attrList, final int recordNumber, final int startIndex, final List<?> orderBy) throws OntimizeJEERuntimeException;

EntityResult bootcampDateQuery(Map<String, Object> keyMap, List<String> attrList) throws OntimizeJEERuntimeException;

EntityResult futureBootcampQuery(Map<String, Object> keyMap, List<String> attrList) throws OntimizeJEERuntimeException;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.campusdual.cd2024bfs4g1.api.core.service;

import com.ontimize.jee.common.db.AdvancedEntityResult;
import com.ontimize.jee.common.dto.EntityResult;
import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException;

import java.util.List;
import java.util.Map;

public interface ISessionBootcampService {
EntityResult sessionBootcampQuery(Map<String, Object> keyMap, List<String> attributes) throws OntimizeJEERuntimeException;

EntityResult sessionBootcampInsert(Map<String, Object> attrMap) throws OntimizeJEERuntimeException;

EntityResult sessionBootcampUpdate(Map<String, Object> attrMap, Map<String, Object> keyMap) throws OntimizeJEERuntimeException;

EntityResult sessionBootcampDelete(Map<String, Object> keyMap) throws OntimizeJEERuntimeException;

AdvancedEntityResult sessionBootcampPaginationQuery(final Map<String, Object> keyMap, final List<?> attrList, final int recordNumber, final int startIndex, final List<?> orderBy) throws OntimizeJEERuntimeException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,7 @@ public interface IStudentService {

AdvancedEntityResult studentPaginationQuery(final Map<String, Object> keyMap, final List<?> attrList, final int recordNumber, final int startIndex, final List<?> orderBy) throws OntimizeJEERuntimeException;

EntityResult commercialStudentQuery(Map<String, Object> keysMap, List<String> attributes) throws OntimizeJEERuntimeException;

AdvancedEntityResult commercialStudentPaginationQuery(Map<String, Object> keyMap, List<?> attrList, int recordNumber, int startIndex, List<?> orderBy) throws OntimizeJEERuntimeException;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<div class="full-page">
<div class="snow-container">
<div class="login-outer-container">
<div class="login-bg-container">
<img class="img" src="./assets/images/logoNS-BLANCO.png" >
Expand Down Expand Up @@ -45,5 +46,5 @@
</div>
</div>


</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,28 @@

}
}

.snow-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}

.snow {
background-color: #fff;
border-radius: 50%;
position: absolute;
top: -100px;
}

@keyframes fall {
0% {
top: -100px;
}
100% {
top: 100vh;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ export class LoginComponent implements OnInit {
} else {
this.authService.clearSessionData();
}
if (this.isHolidaySeason()) {
this.createSnow(1500); // Cantidad de Nieve
}

}

public login() {
Expand Down Expand Up @@ -128,4 +132,37 @@ export class LoginComponent implements OnInit {
default: break;
}
}

private isHolidaySeason(): boolean {// Control de fechas de nieve
const today = new Date();
const start = new Date(today.getFullYear(), 11, 1);
const end = new Date(today.getFullYear() + 1, 0, 6);
return today >= start && today <= end;
}

private getRandomValue(max: number, min: number = 1): number {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

private createSnow(density: number): void {
const snowContainer = document.querySelector('.snow-container');

for (let i = 0; i < density; i++) {
const snowFlake = document.createElement('span');
const horizontalPosition = `${this.getRandomValue(100)}%`;
const fallDelay = `${this.getRandomValue(10)}s`;
const fallDuration = `${this.getRandomValue(20, 5)}s`;
const flakeSize = `${this.getRandomValue(7, 1)}px`;
const flakeOpacity = Math.random().toFixed(2);

snowFlake.classList.add('snow');
snowFlake.style.opacity = flakeOpacity;
snowFlake.style.width = flakeSize;
snowFlake.style.height = flakeSize;
snowFlake.style.animation = `fall ${fallDuration} ${fallDelay} linear infinite`;
snowFlake.style.right = horizontalPosition;

snowContainer?.appendChild(snowFlake);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,8 @@ h3 {


.calendar-container {
align-items: flex-start;
display: contents;
margin-top: 10px;

max-height: 100vh;
padding-bottom: 20px;
}
Expand Down Expand Up @@ -563,6 +562,19 @@ div.notification label {
.timetable_table {
background-color: #f5f0f2;
font-family: 'Roboto', sans-serif;
display: flex;
flex-direction: column;
width: 100%;
height: 90%;
margin: 0;
background-color: #f5f0f2;
border-radius: 15px;
padding: 20px;
}
.table_sesions{
background-color: #f5f0f2;
font-family: 'Roboto', sans-serif;
height: auto;
}

o-list img {
Expand All @@ -577,3 +589,28 @@ o-list img {
box-shadow: none;
padding-top: 20px;
}

::ng-deep o-table .highlight-today {
background-color: #89b23713; /* Color de fondo suave (un azul muy claro) */
}

.check-filtro{
background-color: #F5F0F2;
}
.toggle{
padding: 3px;
background-color: #F5F0F2;
}

.toggle {
overflow: hidden;
display: flex;
align-items: center;
}

.aligned-container {
display: flex;
justify-content: space-between;
padding: 25px;
background-color: #f5f0f2;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<div class="grid-container">
<div class="nombre">
<label for="REQ_LNAME">{{'REQ_LNAME' | oTranslate}}</label>
<o-text-input [validators]="validatorsWithoutSpace" attr="name" required="yes"></o-text-input>
<o-text-input [validators]="validatorsWithoutSpace" attr="name" max-length="100" required="yes"></o-text-input>
</div>
<div>
<label class="daterange">{{ 'REQ_Fecha Inicio/Fecha Fin' | oTranslate }}</label>
Expand All @@ -25,19 +25,17 @@
</div>
<div class="descripcion">
<label for="LDESPCRIPTION">{{'LDESPCRIPTION' | oTranslate}}</label>
<o-textarea-input attr="description" required="no" max-length="200"></o-textarea-input>
<o-textarea-input attr="description" required="no" max-length="150"></o-textarea-input>
</div>
<div class="notas">
<label for="LNOTE">{{'LNOTE' | oTranslate}}</label>
<o-textarea-input attr="notes" required="no" max-length="200"></o-textarea-input>
</div>
<div class="especial fecha-inicio" hidden="true">
<!-- <label for="LSTARTDATE">{{'LSTARTDATE' | oTranslate}}</label> -->
<o-date-input #startdate class="fechas" attr="start_date" hidden="true" required="yes"
format="DD/MM/YYYY"></o-date-input>
</div>
<div class="especial fecha-fin" hidden="true">
<!-- <label for="LENDDATE">{{'LENDDATE' | oTranslate}}</label> -->
<o-date-input #enddate attr="end_date" required="yes" hidden="true" [validators]="validatorsArray"
format="DD/MM/YYYY">
<o-validator error-name="wrongendate" error-text="END_DATE_MORE_THAN_INIT_DATE"></o-validator>
Expand Down Expand Up @@ -80,7 +78,6 @@ <h3>{{'STUDENTS_IN_BOOTCAMP'| oTranslate}}</h3>
</o-form-layout-manager>
</div>


<div class="list_container">
<o-form-layout-manager attr="addTutorsLayout" mode="dialog" title="Mentors">
<o-form-layout-dialog-options class="popup">
Expand Down Expand Up @@ -200,5 +197,89 @@ <h3>{{ 'BootcampDoc' | oTranslate }}</h3>
</div>
</div>
</mat-tab>
<o-form-layout-manager attr="popupNewSession" mode="dialog">
<o-form-layout-dialog-options class="popup">
<mat-tab label="{{ 'Sesiones' | oTranslate }}">
<div class="table_sesions general_table">
<div class="calendar-container">
<o-column>

<o-combo
attr="status"
(valueChange)="onComboChange($event)"
read-only="no"
service="sessionBootcamps"
entity="sessionBootcamps"
keys="id"
[static-data]="[{ id: 1, status: 'Started' }, { id: 2, status: 'Pending' }, { id: 3, status: 'Finished' }]"
[data]="selectedStatuses"
columns="id;status"
value-column="status"
query-on-init="true"
visible-columns="status"
translate="yes"
null-selection=""
layout-padding
multiple="yes"
hidden="yes"
>
</o-combo>
<div class="aligned-container">
<label for="filetitle">{{ 'filetitle' | oTranslate }}</label>
<div class="toggle">
<mat-slide-toggle (change)="toggleFinished($event)">
{{ "Add 'Finished'" | oTranslate }}
</mat-slide-toggle>
</div>
</div>
</o-column>



<o-filter-builder
#filterBuilder
attr="thefilter"
filters="session_name:session_name;session_date:session_date;password:password;status:status;link:link;id"
[target]="sessionsTable"
query-on-change="yes"
query-on-change-delay="500"
[expression-builder]="createFilter"
sort="session_date:ASC">
</o-filter-builder>

<o-table #sessionsTable class="general_table" virtual-scroll="false" attr="sessionBootcamp_table" detail-form-route="session"
service="sessionBootcamp"
entity="sessionBootcamp" keys="id"
parent-keys="id_bootcamp:id"
columns="id;session_name;session_date;password;status;link"
visible-columns="session_name;session_date;password;status;Link"
select-all-checkbox-visible="true" selection-mode="multiple"
[row-class]="getRowClass"
sort-columns="session_date"
>

<o-table-column class="center" attr="session_date" title="session_date" type="date" format="DD/MM/YYYY"></o-table-column>
<o-table-column class="center" attr="Link" width="64px" tooltip="yes"
tooltip-value="{{'link_ico'| oTranslate}}">
<o-table-cell-renderer-action (onClick)="openLink($event)" icon="link"></o-table-cell-renderer-action>
</o-table-column>
<o-table-column class="center" attr="session_name" title="session_name"></o-table-column>
<o-table-column class="center" attr="password" title="password"></o-table-column>
<o-table-column class="center" attr="status" title="status"
type="string" content-align="center" title-align="center"
><o-table-cell-renderer-translate></o-table-cell-renderer-translate>
</o-table-column>

<o-table-context-menu insert="true" edit="false" view-detail="false" delete="true">
</o-table-context-menu>
</o-table>
</div>
</div>
</mat-tab>

</o-form-layout-dialog-options>
</o-form-layout-manager>


</mat-tab-group>
</o-form>
Loading

0 comments on commit 3aab51a

Please sign in to comment.