mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
Modified search, agenda, dg, and event view
This commit is contained in:
Generated
+34
-3
@@ -576,9 +576,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"onetime": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.1.tgz",
|
||||
"integrity": "sha512-ZpZpjcJeugQfWsfyQlshVoowIIQ1qBGSVll4rfDq6JJVO//fesjoX808hXWfBjY+ROZgpKDI5TRSRBSoJiZ8eg==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
|
||||
"integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mimic-fn": "^2.1.0"
|
||||
@@ -2660,6 +2660,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@logisticinfotech/ionic4-datepicker": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@logisticinfotech/ionic4-datepicker/-/ionic4-datepicker-1.4.4.tgz",
|
||||
"integrity": "sha512-2L22qs3B4kc2a6Dmjv/P3A/MS4ChbAjV+6umfOX3Pt/i3+P7mMHhGDWgFMZVrL14na7uoHewkY1v0CBvC2MW1w==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@ngtools/webpack": {
|
||||
"version": "9.1.12",
|
||||
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.12.tgz",
|
||||
@@ -4059,6 +4067,24 @@
|
||||
"integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==",
|
||||
"dev": true
|
||||
},
|
||||
"capacitor-datepicker": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/capacitor-datepicker/-/capacitor-datepicker-0.0.2.tgz",
|
||||
"integrity": "sha512-6iZ3sxZs/thn05z8Qn0G9sJYtPC2w70O8D6yF4d1/02zhVEv2iWmpDKa+0w8Xk6l91qMNumyWwUV4gMWLte1xg==",
|
||||
"requires": {
|
||||
"@capacitor/core": "^2.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@capacitor/core": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-2.4.0.tgz",
|
||||
"integrity": "sha512-zL+3yKjLNkU6QwIB/Fp9rg+qDLsO44/ibrIgaZZRXcDCwScwanjXCgco/jXQl3jGFcZzanm59wKhMcJr9xQH0Q==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
@@ -8965,6 +8991,11 @@
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.27.0",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
|
||||
"integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
|
||||
},
|
||||
"move-concurrently": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
|
||||
|
||||
+4
-1
@@ -24,13 +24,16 @@
|
||||
"@ionic-native/splash-screen": "^5.0.0",
|
||||
"@ionic-native/status-bar": "^5.0.0",
|
||||
"@ionic/angular": "^5.0.0",
|
||||
"@logisticinfotech/ionic4-datepicker": "^1.4.4",
|
||||
"capacitor-datepicker": "0.0.2",
|
||||
"moment": "^2.27.0",
|
||||
"rxjs": "~6.5.1",
|
||||
"tslib": "^1.10.0",
|
||||
"zone.js": "~0.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.901.5",
|
||||
"@angular/cli": "~9.1.5",
|
||||
"@angular/cli": "9.1.12",
|
||||
"@angular/compiler": "~9.1.6",
|
||||
"@angular/compiler-cli": "~9.1.6",
|
||||
"@angular/language-service": "~9.1.6",
|
||||
|
||||
@@ -10,6 +10,11 @@ const routes: Routes = [
|
||||
path: '',
|
||||
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)
|
||||
},
|
||||
/* {
|
||||
path: 'view-event',
|
||||
loadChildren: () => import('./pages/view-event/view-event.module').then( m => m.ViewEventPageModule)
|
||||
}, */
|
||||
|
||||
];
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { RouteReuseStrategy } from '@angular/router';
|
||||
|
||||
@@ -20,6 +20,7 @@ import { HttpClientModule } from '@angular/common/http';
|
||||
HttpClientModule,
|
||||
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
|
||||
],
|
||||
bootstrap: [AppComponent]
|
||||
bootstrap: [AppComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
@@ -8,6 +8,9 @@ import { Component } from '@angular/core';
|
||||
import { SlidesComponent } from './slides/slides.component';
|
||||
import { StartComponent } from './start/start.component';
|
||||
import { LogoComponent } from './logo/logo.component';
|
||||
import { CustomHeaderComponent } from './custom-header/custom-header.component';
|
||||
import { EventComponent } from './event/event.component';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
|
||||
|
||||
|
||||
@@ -15,19 +18,27 @@ import { LogoComponent } from './logo/logo.component';
|
||||
declarations: [
|
||||
SlidesComponent,
|
||||
StartComponent,
|
||||
LogoComponent
|
||||
LogoComponent,
|
||||
CustomHeaderComponent,
|
||||
EventComponent
|
||||
|
||||
],
|
||||
exports: [
|
||||
/* Exportar para o acesso de outros componentes e páginas na aplicação*/
|
||||
SlidesComponent,
|
||||
StartComponent,
|
||||
LogoComponent,
|
||||
CustomHeaderComponent,
|
||||
EventComponent,
|
||||
Component
|
||||
],
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
]
|
||||
})
|
||||
export class ComponentsModule { }
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<ion-title>
|
||||
<ion-item class="ion-text-header-top" lines="none">
|
||||
<ion-thumbnail slot="start">
|
||||
<!-- Add logo to the component -->
|
||||
<app-logo></app-logo>
|
||||
</ion-thumbnail>
|
||||
<ion-label>
|
||||
<h6 class="header-xsmall">Presidente da República</h6>
|
||||
<h2 class="header-large">GABINETE DIGITAL</h2>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item class="ion-text-right" lines="none">
|
||||
<ion-label class="ion-text-wrap">
|
||||
<h3 class="header-medium">Bom dia Excelência <br />Presidente da República</h3>
|
||||
<p class="p-small">Segunda-feira, 03 de Agosto</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-title>
|
||||
@@ -0,0 +1,34 @@
|
||||
.header-medium{
|
||||
font-size: 12pt;
|
||||
font-family: roboto;
|
||||
|
||||
}
|
||||
.p-small{
|
||||
font-size: 9pt;
|
||||
margin-top: 10px;
|
||||
color:#000;
|
||||
}
|
||||
.ion-text-header-top{
|
||||
text-align: center;
|
||||
padding-top: 20px;
|
||||
}
|
||||
.div-img{
|
||||
width: 100%;
|
||||
}
|
||||
.div-im img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.header-xsmall{
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 8.5pt;
|
||||
font-weight: bold;
|
||||
padding-bottom: 3.5px;
|
||||
margin-bottom: 3.5px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
.header-large{
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 10.5pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { CustomHeaderComponent } from './custom-header.component';
|
||||
|
||||
describe('CustomHeaderComponent', () => {
|
||||
let component: CustomHeaderComponent;
|
||||
let fixture: ComponentFixture<CustomHeaderComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ CustomHeaderComponent ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(CustomHeaderComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-custom-header',
|
||||
templateUrl: './custom-header.component.html',
|
||||
styleUrls: ['./custom-header.component.scss'],
|
||||
})
|
||||
export class CustomHeaderComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule
|
||||
],
|
||||
declarations: [CustomHeaderModule]
|
||||
})
|
||||
export class CustomHeaderModule {}
|
||||
@@ -0,0 +1,84 @@
|
||||
<form class="event-form">
|
||||
<ion-item>
|
||||
<ion-label>Assunto</ion-label>
|
||||
<ion-input></ion-input>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Descrição</ion-label>
|
||||
<ion-input></ion-input>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Localização</ion-label>
|
||||
<ion-input></ion-input>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Intervenientes</ion-label>
|
||||
<ion-input></ion-input>
|
||||
</ion-item>
|
||||
<ion-list>
|
||||
<ion-radio-group value="biff">
|
||||
<ion-item class="radio-button" lines="none">
|
||||
<ion-label>Oficial</ion-label>
|
||||
<ion-radio slot="start" value="biff"></ion-radio>
|
||||
</ion-item>
|
||||
|
||||
<ion-item class="radio-button" lines="none">
|
||||
<ion-label>Pessoal</ion-label>
|
||||
<ion-radio slot="start" value="griff"></ion-radio>
|
||||
</ion-item>
|
||||
</ion-radio-group>
|
||||
</ion-list>
|
||||
<ion-item>
|
||||
<ion-label>Selecione o tipo de evento</ion-label>
|
||||
<ion-select interface="action-sheet" class="custom-options" Cancel-text="Cancelar">
|
||||
<ion-select-option value="brown">Reunião</ion-select-option>
|
||||
<ion-select-option value="blonde">Viagem</ion-select-option>
|
||||
<ion-select-option value="black">Conferência</ion-select-option>
|
||||
<ion-select-option value="red">Encontro</ion-select-option>
|
||||
</ion-select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Selecione a frequência do evento</ion-label>
|
||||
<ion-select interface="action-sheet" class="custom-options" Cancel-text="Cancelar">
|
||||
<ion-select-option value="brown">Único</ion-select-option>
|
||||
<ion-select-option value="blonde">Diário</ion-select-option>
|
||||
<ion-select-option value="black">Semanal</ion-select-option>
|
||||
<ion-select-option value="red">Mensal</ion-select-option>
|
||||
</ion-select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Data Início</ion-label>
|
||||
<ion-datetime value="2005-06-17T11:06Z" min="1990" max="2020"
|
||||
[dayShortNames]="customDayShortNames"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"></ion-datetime>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Data Fim</ion-label>
|
||||
<ion-datetime value="2005-06-17T11:06Z" min="1990" max="2020"
|
||||
[dayShortNames]="customDayShortNames"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"></ion-datetime>
|
||||
</ion-item>
|
||||
<!-- <ion-list>
|
||||
<ion-item (click)="selecDate()">
|
||||
<ion-label>Date</ion-label>
|
||||
<ion-datetime display-format="DD.MM.YYYY HH:mm" name="selectedDate" [(ngModel)]="myDate" [readonly]="true"></ion-datetime>
|
||||
</ion-item>
|
||||
</ion-list> -->
|
||||
<!-- Textarea with custom number of rows and cols -->
|
||||
|
||||
<div class="attach-div">
|
||||
<ion-label class="attach-label">Anexos</ion-label>
|
||||
<ion-item lines="none">
|
||||
<ion-button size="small" slot="start">Adicionar</ion-button>
|
||||
</ion-item>
|
||||
|
||||
<div id="AttachFiles"></div>
|
||||
<ion-item>
|
||||
<ion-label color="secondary">Lei do orçamento geral do Estado</ion-label> <ion-button size="small" slot="end">Eliminar</ion-button>
|
||||
</ion-item>
|
||||
|
||||
</div>
|
||||
<ion-button expand="full">Salvar</ion-button>
|
||||
</form>
|
||||
@@ -0,0 +1,22 @@
|
||||
.radio-button{
|
||||
width: 50%;
|
||||
/* border: 1px solid red; */
|
||||
float: left;
|
||||
}
|
||||
.attach-div{
|
||||
margin-top: 20px;
|
||||
/* border: 1px solid red; */
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.attach-label{
|
||||
/* border: 1px solid red; */
|
||||
margin-left: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.event-form{
|
||||
border: 1px solid rgb(243, 238, 238);
|
||||
margin: 10px;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { EventComponent } from './event.component';
|
||||
|
||||
describe('EventComponent', () => {
|
||||
let component: EventComponent;
|
||||
let fixture: ComponentFixture<EventComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ EventComponent ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(EventComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-event',
|
||||
templateUrl: './event.component.html',
|
||||
styleUrls: ['./event.component.scss'],
|
||||
})
|
||||
export class EventComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
||||
@@ -3,18 +3,15 @@ import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { SignupPageRoutingModule } from './signup-routing.module';
|
||||
|
||||
import { SignupPage } from './signup.page';
|
||||
import { ComponentsModule } from '../components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
SignupPageRoutingModule
|
||||
ComponentsModule
|
||||
],
|
||||
declarations: [SignupPage]
|
||||
declarations: [EventModule]
|
||||
})
|
||||
export class SignupPageModule {}
|
||||
export class EventModule {}
|
||||
@@ -1,4 +1,5 @@
|
||||
ion-slides{
|
||||
height: 90%;
|
||||
padding: 160px 20px;
|
||||
/* h2{
|
||||
font-size: 26px;
|
||||
|
||||
@@ -28,6 +28,11 @@ const routes: Routes = [
|
||||
path: 'gabinete-digital',
|
||||
loadChildren: ()=> import('../pages/gabinete-digital/gabinete-digital.module').then(m => m.GabineteDigitalPageModule)
|
||||
},
|
||||
/* PROVISORIO */
|
||||
{
|
||||
path: 'view-event',
|
||||
loadChildren: ()=> import('../pages/view-event/view-event.module').then(m => m.ViewEventPageModule)
|
||||
},
|
||||
]
|
||||
}/* ,
|
||||
{
|
||||
|
||||
@@ -15,10 +15,6 @@ const routes: Routes = [
|
||||
path: 'login',
|
||||
loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule)
|
||||
},
|
||||
{
|
||||
path: 'signup',
|
||||
loadChildren: ()=> import('../pages/signup/signup.module').then(m => m.SignupPageModule)
|
||||
},
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7,12 +7,14 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { AgendaPageRoutingModule } from './agenda-routing.module';
|
||||
|
||||
import { AgendaPage } from './agenda.page';
|
||||
import { ComponentsModule } from 'src/app/components/components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
ComponentsModule,
|
||||
AgendaPageRoutingModule
|
||||
],
|
||||
declarations: [AgendaPage]
|
||||
|
||||
@@ -1,9 +1,28 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>agenda</ion-title>
|
||||
<ion-title>Agenda</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<ion-toolbar *ngIf="!ios">
|
||||
<ion-segment [(ngModel)]="segment">
|
||||
<ion-segment-button value="combinada">
|
||||
Combinada
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="oficial">
|
||||
Oficial
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="pessoal">
|
||||
Pessoal
|
||||
</ion-segment-button>
|
||||
</ion-segment>
|
||||
</ion-toolbar>
|
||||
|
||||
|
||||
<ion-fab vertical="bottom" horizontal="end" slot="fixed">
|
||||
<ion-fab-button>
|
||||
<ion-icon name="create"></ion-icon>
|
||||
</ion-fab-button>
|
||||
</ion-fab>
|
||||
</ion-content>
|
||||
|
||||
@@ -6,10 +6,18 @@ import { Component, OnInit } from '@angular/core';
|
||||
styleUrls: ['./agenda.page.scss'],
|
||||
})
|
||||
export class AgendaPage implements OnInit {
|
||||
/* myDate: String = new Date().toISOString(); */
|
||||
/* currentdate = new Date(); */
|
||||
|
||||
segment:string;
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
//Inicializar segment
|
||||
this.segment = "combinada";
|
||||
/* console.log(this.myDate); */
|
||||
/* console.log(this.currentdate.getFullYear); */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
@@ -7,12 +7,14 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { FeedPageRoutingModule } from './feed-routing.module';
|
||||
|
||||
import { FeedPage } from './feed.page';
|
||||
import { ComponentsModule } from 'src/app/components/components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
ComponentsModule,
|
||||
FeedPageRoutingModule
|
||||
],
|
||||
declarations: [FeedPage]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
@@ -7,14 +7,17 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { GabineteDigitalPageRoutingModule } from './gabinete-digital-routing.module';
|
||||
|
||||
import { GabineteDigitalPage } from './gabinete-digital.page';
|
||||
import { ComponentsModule } from 'src/app/components/components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
ComponentsModule,
|
||||
GabineteDigitalPageRoutingModule
|
||||
],
|
||||
declarations: [GabineteDigitalPage]
|
||||
declarations: [GabineteDigitalPage],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
export class GabineteDigitalPageModule {}
|
||||
|
||||
@@ -1,9 +1,65 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>gabinete-digital</ion-title>
|
||||
<ion-title>Gabinete Digital</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
|
||||
<ion-toolbar>
|
||||
<ion-segment [(ngModel)]="segment">
|
||||
<ion-segment-button value="expediente">
|
||||
Expediente
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="pendentes">
|
||||
Pendentes
|
||||
</ion-segment-button>
|
||||
</ion-segment>
|
||||
</ion-toolbar>
|
||||
<div [ngSwitch]="segment">
|
||||
<ion-list *ngSwitchCase="'expediente'">
|
||||
<ion-item-group>
|
||||
<ion-item-sliding>
|
||||
<ion-item lines="none">
|
||||
<div class="div-content">
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="end" name="document-outline"></ion-icon>
|
||||
<h3>Reunião de Conselho de Ministros</h3>
|
||||
</ion-item>
|
||||
<p><span class="span-left">MINEC, MINFIN</span><span class="span-right">13 JAN</span></p>
|
||||
</div>
|
||||
</ion-item>
|
||||
</ion-item-sliding>
|
||||
</ion-item-group>
|
||||
</ion-list>
|
||||
<ion-list *ngSwitchCase="'pendentes'">
|
||||
<ion-item-group>
|
||||
<ion-item-sliding>
|
||||
<ion-item lines="none">
|
||||
<div class="div-content">
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="end" name="document-outline"></ion-icon>
|
||||
<h3>Avaliação de execução dos projectos públicos</h3>
|
||||
</ion-item>
|
||||
<p><span class="span-left">MINEC, MINFIN</span><span class="span-right">05 JAN</span></p>
|
||||
</div>
|
||||
</ion-item>
|
||||
</ion-item-sliding>
|
||||
</ion-item-group>
|
||||
</ion-list>
|
||||
</div>
|
||||
<!-- <p>Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
Jaqueta corta-vento, dupla face, um lado estampado de camuflado exclusivo Element, do outro preto, ambos com estampa no peito esquerdo de quem veste, bolsos laterais e etiquetas personalizadas Element. Características Principais: Material: 100% Poliéster Garantia conta defeito de fabricação.
|
||||
</p> -->
|
||||
<ion-fab vertical="bottom" horizontal="end" slot="fixed">
|
||||
<ion-fab-button>
|
||||
<ion-icon name="create"></ion-icon>
|
||||
</ion-fab-button>
|
||||
</ion-fab>
|
||||
</ion-content>
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
/* CONTENT */
|
||||
.item-list-small{
|
||||
font-size: 11px;
|
||||
overflow: auto;
|
||||
}
|
||||
.ion-item-class{
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
.label-text{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
//DIV
|
||||
.div-content h3{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.div-icon{
|
||||
width: 10%;
|
||||
font-size: 20px;
|
||||
float: left;
|
||||
color: #808080;
|
||||
}
|
||||
.div-icon ion-icon{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
|
||||
}
|
||||
.div-content{
|
||||
width: 100%;
|
||||
float: left;
|
||||
border-left: 2px solid orange;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
.div-content p{
|
||||
font-size: 10.5pt;
|
||||
color: rgb(94, 92, 92);
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.span-left{
|
||||
/* border: 1px solid red; */
|
||||
float: left;
|
||||
font-size: 10px;
|
||||
padding-left: 18px;
|
||||
}
|
||||
.span-right{
|
||||
/* border: 1px solid blue; */
|
||||
text-align: right;
|
||||
float: right;
|
||||
font-size: 10px;
|
||||
padding-right: 18px;
|
||||
}
|
||||
|
||||
@@ -7,9 +7,13 @@ import { Component, OnInit } from '@angular/core';
|
||||
})
|
||||
export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
segment:string;
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
//Inicializar segment
|
||||
this.segment = "expediente";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,10 +18,6 @@
|
||||
</ion-item>
|
||||
|
||||
<ion-button expand="block" shape="round" color="primary" (click)="simpleLogin()">Entrar</ion-button>
|
||||
|
||||
<ion-item lines="none">
|
||||
<a routerLink="/signup">Criar conta</a>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -3,6 +3,7 @@ import { Router } from '@angular/router';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { StorageService } from 'src/app/services/storage.service';
|
||||
import { AuthConnstants } from 'src/app/config/auth-constants';
|
||||
import { ToastController } from '@ionic/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'app-login',
|
||||
@@ -18,7 +19,12 @@ export class LoginPage implements OnInit {
|
||||
domainName: ''
|
||||
}
|
||||
|
||||
constructor(private router: Router, private authService: AuthService, private storageService: StorageService) { }
|
||||
constructor(
|
||||
private router: Router,
|
||||
private authService: AuthService,
|
||||
private storageService: StorageService,
|
||||
toastController: ToastController
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
@@ -83,6 +89,8 @@ export class LoginPage implements OnInit {
|
||||
}
|
||||
else{
|
||||
console.log("Preencha todos campos");
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
@@ -7,14 +7,17 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { SearchPageRoutingModule } from './search-routing.module';
|
||||
|
||||
import { SearchPage } from './search.page';
|
||||
import { ComponentsModule } from 'src/app/components/components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
ComponentsModule,
|
||||
SearchPageRoutingModule
|
||||
],
|
||||
declarations: [SearchPage]
|
||||
declarations: [SearchPage],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
export class SearchPageModule {}
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>search</ion-title>
|
||||
<ion-title>Pesquisa</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
|
||||
<ion-form>
|
||||
<div class="div-search">
|
||||
<ion-input class="search-input" type="search" placeholder="FMI"></ion-input>
|
||||
<ion-icon class="icon-search" slot="end" name="search"></ion-icon>
|
||||
</div>
|
||||
|
||||
</ion-form>
|
||||
</ion-content>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
.div-search{
|
||||
width: 94%;
|
||||
margin: 3%;
|
||||
border: 0.5px solid #333;
|
||||
padding: 0 5px 0 5px;
|
||||
overflow: auto;
|
||||
|
||||
}
|
||||
.search-input{
|
||||
width: 90%;
|
||||
float: left;
|
||||
}
|
||||
.icon-search{
|
||||
width: 8%;
|
||||
padding: 8px 3px 5px 2px;
|
||||
font-size: 25px;
|
||||
float: right;
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
<ion-content>
|
||||
<div class="wrapper">
|
||||
<app-logo></app-logo>
|
||||
<h2 class="center">Criar conta</h2>
|
||||
<form>
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Username</ion-label>
|
||||
<ion-input type="text"></ion-input>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Username</ion-label>
|
||||
<ion-input type="text"></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<ion-button expand="block" shape="round" color="primary" (click)="submitForm()">Submeter</ion-button>
|
||||
|
||||
<ion-item lines="none">
|
||||
<p>Já tenho uma conta, <a routerLink="/login">Login</a></p>
|
||||
</ion-item>
|
||||
|
||||
</ion-list>
|
||||
</form>
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -1,21 +0,0 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-signup',
|
||||
templateUrl: './signup.page.html',
|
||||
styleUrls: ['./signup.page.scss'],
|
||||
})
|
||||
export class SignupPage implements OnInit {
|
||||
|
||||
constructor(private router: Router) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
submitForm(){
|
||||
this.router.navigate(['/login']);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { SignupPage } from './signup.page';
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: SignupPage
|
||||
component: ViewEventPage
|
||||
}
|
||||
];
|
||||
|
||||
@@ -14,4 +14,4 @@ const routes: Routes = [
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class SignupPageRoutingModule {}
|
||||
export class ViewEventPageRoutingModule {}
|
||||
@@ -0,0 +1,22 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { ViewEventPageRoutingModule } from './view-event-routing.module';
|
||||
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
import { ComponentsModule } from 'src/app/components/components.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
ComponentsModule,
|
||||
ViewEventPageRoutingModule
|
||||
],
|
||||
declarations: [ViewEventPage]
|
||||
})
|
||||
export class ViewEventPageModule {}
|
||||
@@ -0,0 +1,12 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-item slot="start" lines="none">
|
||||
<ion-icon name="chevron-back-circle-outline"></ion-icon>
|
||||
</ion-item>
|
||||
<ion-title>Novo Evento</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<app-event></app-event>
|
||||
</ion-content>
|
||||
+6
-6
@@ -1,19 +1,19 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { SignupPage } from './signup.page';
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
|
||||
describe('SignupPage', () => {
|
||||
let component: SignupPage;
|
||||
let fixture: ComponentFixture<SignupPage>;
|
||||
describe('ViewEventPage', () => {
|
||||
let component: ViewEventPage;
|
||||
let fixture: ComponentFixture<ViewEventPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ SignupPage ],
|
||||
declarations: [ ViewEventPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(SignupPage);
|
||||
fixture = TestBed.createComponent(ViewEventPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
@@ -0,0 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-view-event',
|
||||
templateUrl: './view-event.page.html',
|
||||
styleUrls: ['./view-event.page.scss'],
|
||||
})
|
||||
export class ViewEventPage implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
}
|
||||
Vendored
+3
-1
@@ -1,3 +1,5 @@
|
||||
|
||||
/// <reference path="../.vscode/typings/cordova-ionic/plugins/keyboard.d.ts"/>
|
||||
/// <reference path="../.vscode/typings/jquery/jquery.d.ts"/>
|
||||
/// <reference path="../.vscode/typings/jquery/jquery.d.ts"/>
|
||||
/// <reference path="..\.vscode\typings\cordova-ionic\plugins\keyboard.d.ts"/>
|
||||
/// <reference path="..\.vscode\typings\jquery\jquery.d.ts"/>
|
||||
Reference in New Issue
Block a user