mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-21 05:45:50 +00:00
Melhorias
Alterar a ordem de apresentação do pop up sobre a recorrencia - Apresentar logo após o click no botão de edição do evento; A app não envia o comentario na revisão de eventos; Ao remover a recorrência do evento a app não remove os eventos da Agenda
This commit is contained in:
@@ -309,8 +309,13 @@ const routes = [
|
||||
{
|
||||
path: 'crop-image',
|
||||
loadChildren: () => import('./modals/crop-image/crop-image.module').then( m => m.CropImagePageModule)
|
||||
},
|
||||
{
|
||||
path: 'event-recurrence',
|
||||
loadChildren: () => import('./modals/event-recurrence/event-recurrence.module').then( m => m.EventRecurrencePageModule)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
path: 'chat',
|
||||
component: ChatPage
|
||||
|
||||
@@ -96,6 +96,8 @@ import { DeplomaOptionsPageModule } from './shared/popover/deploma-options/deplo
|
||||
import { DiplomaOptionsPage } from './shared/popover/deploma-options/deploma-options.page';
|
||||
import { ImageCropperModule } from 'ngx-image-cropper';
|
||||
import { metricsInterceptor, MetricsInterceptor } from './interceptors/metter.interceptor';
|
||||
import { environment } from 'src/environments/environment';
|
||||
|
||||
// import { ServiceWorkerModule } from '@angular/service-worker';
|
||||
// import { AngularFireModule } from '@angular/fire';
|
||||
// import { AngularFireMessagingModule } from '@angular/fire/messaging';
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { EventRecurrencePage } from './event-recurrence.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: EventRecurrencePage
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class EventRecurrencePageRoutingModule {}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { EventRecurrencePageRoutingModule } from './event-recurrence-routing.module';
|
||||
|
||||
import { EventRecurrencePage } from './event-recurrence.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
EventRecurrencePageRoutingModule
|
||||
],
|
||||
declarations: [EventRecurrencePage]
|
||||
})
|
||||
export class EventRecurrencePageModule {}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
<ion-content>
|
||||
<div class="pb-30 text-center pt-25">Este é um evento recorrente</div>
|
||||
<div>
|
||||
<ion-buttons slot="start" class="pb-15">
|
||||
<button class="btn-ok" style="width: 240px !important" fill="clear" color="#fff" (click)="close('EditAll')" >
|
||||
<ion-label>Editar todos eventos da serie</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end" class="pb-15">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" style="width: 240px !important" (click)="close('EditOne')">
|
||||
<ion-label>Editar apenas este evento</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="end">
|
||||
<button class="btn-cancel" fill="clear" color="#061b52" style="width: 240px !important" (click)="close('Cancel')">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -0,0 +1,24 @@
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { EventRecurrencePage } from './event-recurrence.page';
|
||||
|
||||
describe('EventRecurrencePage', () => {
|
||||
let component: EventRecurrencePage;
|
||||
let fixture: ComponentFixture<EventRecurrencePage>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ EventRecurrencePage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(EventRecurrencePage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,22 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
|
||||
export type EventRecurrenceComponentReturn = 'EditAll' | 'EditOne' | 'Cancel'
|
||||
|
||||
@Component({
|
||||
selector: 'app-event-recurrence',
|
||||
templateUrl: './event-recurrence.page.html',
|
||||
styleUrls: ['./event-recurrence.page.scss'],
|
||||
})
|
||||
export class EventRecurrencePage implements OnInit {
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController
|
||||
) { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
close(data: EventRecurrenceComponentReturn) {
|
||||
this.modalController.dismiss(data)
|
||||
}
|
||||
}
|
||||
@@ -168,7 +168,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="container-div" *ngIf="postEvent?.EventRecurrence?.frequency">
|
||||
<div class="ion-item-class-2 d-flex">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-reapet.svg"></ion-icon>
|
||||
@@ -200,7 +200,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="postEvent.EventRecurrence.frequency != 'never'" class="container-div">
|
||||
<div *ngIf="postEvent?.EventRecurrence?.frequency != 'never'" class="container-div">
|
||||
<div class="ion-item-class-2 d-flex" >
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-reapet.svg"></ion-icon>
|
||||
@@ -499,7 +499,7 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="footer-toolbar px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="validationEditAllEvent()">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save_v2()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { Router } from '@angular/router';
|
||||
import { AlertController, ModalController, NavParams } from '@ionic/angular';
|
||||
import { Attachment } from 'src/app/models/attachment.model';
|
||||
import { EventBody } from 'src/app/models/eventbody.model';
|
||||
@@ -24,6 +23,7 @@ import { Observable } from 'rxjs';
|
||||
import { RoleIdService } from 'src/app/services/role-id.service'
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { AttendeesLIstChangeDetector } from 'src/app/services/Repositorys/Agenda/async/change/attendeesLIstChangeDetector';
|
||||
import { EventRecurrencePage, EventRecurrenceComponentReturn } from 'src/app/modals/event-recurrence/event-recurrence.page';
|
||||
|
||||
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
parse: {
|
||||
@@ -36,6 +36,14 @@ const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
monthYearA11yLabel: "MMMM YYYY"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export interface EditEventPageParams {
|
||||
eventId: string
|
||||
caller?: string
|
||||
closeModal: Boolean
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'app-edit-event',
|
||||
templateUrl: './edit-event.page.html',
|
||||
@@ -46,6 +54,8 @@ const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
|
||||
})
|
||||
export class EditEventPage implements OnInit {
|
||||
|
||||
static params: EditEventPageParams
|
||||
|
||||
Form: FormGroup;
|
||||
validateFrom = false
|
||||
|
||||
@@ -102,6 +112,8 @@ export class EditEventPage implements OnInit {
|
||||
serverCurrentList = []
|
||||
|
||||
CalendarNamesOptions = ['Oficial', 'Pessoal']
|
||||
editAllEvent = false
|
||||
closeModal = false
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -109,7 +121,6 @@ export class EditEventPage implements OnInit {
|
||||
public eventsService: EventsService,
|
||||
public alertController: AlertController,
|
||||
private attachmentsService: AttachmentsService,
|
||||
private router: Router,
|
||||
public ThemeService: ThemeService,
|
||||
private httpErrorHandle: HttpErrorHandle,
|
||||
private contactsService: ContactsService,
|
||||
@@ -126,8 +137,11 @@ export class EditEventPage implements OnInit {
|
||||
console.log('this.postEvent', this.postEvent)
|
||||
|
||||
this.caller = this.navParams.get('caller');
|
||||
this.closeModal = this.navParams.get('closeModal');
|
||||
|
||||
this.initCalendarName = this.postEvent.CalendarName;
|
||||
this.allDayCheck = this.postEvent.IsAllDayEvent;
|
||||
this.validationEditAllEvent()
|
||||
|
||||
|
||||
|
||||
@@ -243,10 +257,6 @@ export class EditEventPage implements OnInit {
|
||||
this.modalController.dismiss({ action: 'cancel' });
|
||||
}
|
||||
|
||||
goBack() {
|
||||
|
||||
this.router.navigate(['/home', this.caller]);
|
||||
}
|
||||
|
||||
roundTimeQuarterHour(timeToReturn = new Date()) {
|
||||
let date = timeToReturn || new Date();
|
||||
@@ -389,55 +399,41 @@ export class EditEventPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
validationEditAllEvent() {
|
||||
if (this.postEvent.IsRecurring && this.postEvent.EventRecurrence.frequency != 'never') {
|
||||
this.alertController.create({
|
||||
header: 'Editar evento?',
|
||||
message: 'Este evento tem recorrência, deseja editar a Sequência de eventos?',
|
||||
inputs: [
|
||||
{
|
||||
name: 'confirm',
|
||||
type: 'checkbox',
|
||||
label: '',
|
||||
value: 'confirm',
|
||||
checked: false
|
||||
}
|
||||
],
|
||||
buttons: [
|
||||
{
|
||||
text: 'Sim',
|
||||
handler: (data) => {
|
||||
// Check if the checkbox is checked
|
||||
if (data.includes('confirm')) {
|
||||
this.save_v2(true)
|
||||
} else {
|
||||
this.save_v2(false)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
this.save_v2(false)
|
||||
}
|
||||
}
|
||||
]
|
||||
}).then(res => {
|
||||
res.present();
|
||||
async validationEditAllEvent() {
|
||||
if (this.postEvent.IsRecurring) {
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: EventRecurrencePage,
|
||||
componentProps: {},
|
||||
cssClass: 'event-recurrence-modal',
|
||||
|
||||
});
|
||||
} else {
|
||||
this.save_v2(false)
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
|
||||
const data: EventRecurrenceComponentReturn = res.data
|
||||
if(data =='EditAll') {
|
||||
this.editAllEvent = true
|
||||
} else if (data == 'EditOne') {
|
||||
this.editAllEvent = false
|
||||
} else if(data == 'Cancel') {
|
||||
this.cancel()
|
||||
} else {
|
||||
this.cancel()
|
||||
}
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
}
|
||||
}
|
||||
|
||||
@XTracerAsync({name:'mobile/create-event', bugPrint: true, daley: 4000})
|
||||
async save_v2(editAllEvent, tracing?: TracingType) {
|
||||
async save_v2(tracing?: TracingType) {
|
||||
this.injectValidation()
|
||||
this.runValidation()
|
||||
|
||||
|
||||
|
||||
|
||||
if (this.Form.invalid) {
|
||||
return false
|
||||
}
|
||||
@@ -447,9 +443,9 @@ export class EditEventPage implements OnInit {
|
||||
const calendar = await this.agendaDataRepository.getCalendarByUserId(this.selectedUserCalendar)
|
||||
|
||||
if(calendar.isOk()) {
|
||||
this.agendaDataRepository.updateEvent(this.postEvent.EventId, this.postEvent, editAllEvent, calendar.value, tracing).subscribe((value) => {
|
||||
this.agendaDataRepository.updateEvent(this.postEvent.EventId, this.postEvent, this.editAllEvent, calendar.value, tracing).subscribe((value) => {
|
||||
console.log(value)
|
||||
this.goBack();
|
||||
this.close();
|
||||
this.httpErrorHandle.httpsSucessMessagge('Editar evento')
|
||||
tracing.setAttribute('outcome', 'success')
|
||||
}, ((error) => {
|
||||
@@ -484,8 +480,6 @@ export class EditEventPage implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
await this.saveDocument()
|
||||
|
||||
if (this.addedAttachmentsList.length > 0) {
|
||||
this.agendaDataRepository.addEventAttachment(this.postEvent.EventId, this.loadedEventAttachments, tracing).subscribe((value) => {
|
||||
console.log(value)
|
||||
@@ -519,45 +513,6 @@ export class EditEventPage implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
async saveDocument() {
|
||||
|
||||
try {
|
||||
|
||||
for (let e of this.loadedEventAttachments) {
|
||||
const id: any = e.Id
|
||||
const remove = e['remove']
|
||||
|
||||
if (id == 'add') {
|
||||
//data.selected
|
||||
const DocumentToSave = {
|
||||
SourceTitle: e.SourceName,
|
||||
ParentId: this.postEvent.EventId,
|
||||
Source: '1',
|
||||
SourceId: e.SourceId,
|
||||
ApplicationId: e.ApplicationId.toString(),
|
||||
Id: '0',
|
||||
Link: '',
|
||||
SerialNumber: '',
|
||||
};
|
||||
|
||||
// await this.attachmentsService.setEventAttachmentById(DocumentToSave).toPromise();
|
||||
|
||||
} else if (remove) {
|
||||
await this.attachmentsService.deleteEventAttachmentById(e.Id).toPromise()
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
} finally {
|
||||
|
||||
}
|
||||
|
||||
this.modalController.dismiss({
|
||||
isEventEdited: this.isEventEdited,
|
||||
postEvent: this.postEvent
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
async openAttendees() {
|
||||
if (window.innerWidth > 801) {
|
||||
|
||||
@@ -132,7 +132,7 @@ export class EventActionsPopoverPage implements OnInit {
|
||||
|
||||
try {
|
||||
/* await this.processes.PostTaskAction(body).toPromise(); */
|
||||
this.agendaDataRepository.eventToaprovalStatus(this.serialNumber, 'Revision').subscribe((value) => {
|
||||
this.agendaDataRepository.eventToaprovalStatus(this.serialNumber, 'Revision', res.data.note).subscribe((value) => {
|
||||
this.httpErrorHandle.httpsSucessMessagge('Rever')
|
||||
this.TaskService.loadEventosParaAprovacao()
|
||||
this.goBack();
|
||||
@@ -162,7 +162,7 @@ export class EventActionsPopoverPage implements OnInit {
|
||||
const loader = this.toastService.loading();
|
||||
try {
|
||||
/* await this.processes.PostTaskAction(body).toPromise(); */
|
||||
this.agendaDataRepository.eventToaprovalStatus(this.serialNumber, 'Declined').subscribe((value) => {
|
||||
this.agendaDataRepository.eventToaprovalStatus(this.serialNumber, 'Declined', '').subscribe((value) => {
|
||||
this.TaskService.loadEventosParaAprovacao()
|
||||
this.httpErrorHandle.httpsSucessMessagge('Rejeitar')
|
||||
this.goBack();
|
||||
|
||||
@@ -11,14 +11,10 @@ import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTas
|
||||
import { DocumentSetUpMeetingPage } from 'src/app/modals/document-set-up-meeting/document-set-up-meeting.page';
|
||||
import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
|
||||
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
|
||||
import { BackgroundService } from 'src/app/services/background.service';
|
||||
import { StorageService } from 'src/app/services/storage.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { RouteService } from 'src/app/services/route.service';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'
|
||||
import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||
import { DateService } from 'src/app/services/date.service';
|
||||
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { isHttpError } from 'src/app/services/http.service';
|
||||
@@ -62,20 +58,15 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
/* private navParams: NavParams, */
|
||||
public eventsService: EventsService,
|
||||
public alertController: AlertController,
|
||||
public popoverController: PopoverController,
|
||||
private activatedRoute: ActivatedRoute,
|
||||
private toastService: ToastService,
|
||||
public platform: Platform,
|
||||
private backgroundservice: BackgroundService,
|
||||
private storage: StorageService,
|
||||
public ThemeService: ThemeService,
|
||||
private RouteService: RouteService,
|
||||
private httpErrorHandle: HttpErrorHandle,
|
||||
private attachmentsService: AttachmentsService,
|
||||
private dateService: DateService,
|
||||
private agendaDataRepository: AgendaDataRepositoryService,
|
||||
public p: PermissionService,
|
||||
) {
|
||||
@@ -112,25 +103,6 @@ export class ViewEventPage implements OnInit {
|
||||
ngOnInit() {
|
||||
this.loadEvent();
|
||||
|
||||
// this.backgroundservice.registerBackService('Online', () => {
|
||||
// this.storage.get('eventEdit').then((req) => {
|
||||
// JSON.parse(req).forEach(element => {
|
||||
// this.eventsService.editEvent(element, 2, 3).subscribe((res) => {
|
||||
// this.storage.remove('eventEdit')
|
||||
|
||||
// })
|
||||
// });
|
||||
// })
|
||||
// this.storage.get('eventDelete').then((req) => {
|
||||
// JSON.parse(req).forEach(element => {
|
||||
// this.eventsService.editEvent(element, 2, 3).subscribe((res) => {
|
||||
// this.storage.remove('eventDelete')
|
||||
|
||||
// })
|
||||
// });
|
||||
// })
|
||||
// this.loadEvent();
|
||||
// });
|
||||
|
||||
window.onresize = (event) => {
|
||||
// if not mobile remove all component
|
||||
@@ -141,25 +113,7 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
// getEventsFromDB () {
|
||||
|
||||
// return new Promise((resolve, reject) => {
|
||||
// if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
// this.storage.get('agendaResponse').then((events) => {
|
||||
// resolve(events)
|
||||
// })
|
||||
// } else {
|
||||
// this.sqliteservice.getAllEvents().then((events: any[] = []) => {
|
||||
// resolve(events)
|
||||
|
||||
// })
|
||||
// }
|
||||
// }).catch ((error) => {
|
||||
// console.error(error);
|
||||
// });
|
||||
// }
|
||||
|
||||
openOptions() { }
|
||||
close() {
|
||||
|
||||
this.modalController.dismiss(this.isEventEdited);
|
||||
@@ -232,37 +186,6 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
/* loadEvent1() {
|
||||
|
||||
|
||||
if(this.sesseionStora.user.Profile == 'MDGPR' || this.sesseionStora.user.Profile == 'PR') {
|
||||
this.eventsService.getEvent(this.eventId).subscribe(res => {
|
||||
|
||||
res = this.dateService.fixDate(res as any)
|
||||
this.loadedEvent = res;
|
||||
this.setTimeZone()
|
||||
// this.addEventToDb(res);
|
||||
}, (error) => {
|
||||
});
|
||||
} else {
|
||||
|
||||
|
||||
if(this.CalendarId) {
|
||||
this.eventsService.genericGetEvent(this.eventId, this.CalendarId).subscribe(res => {
|
||||
|
||||
res = this.dateService.fixDate(res as any)
|
||||
this.loadedEvent = res;
|
||||
this.setTimeZone()
|
||||
|
||||
}, (error) => {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} */
|
||||
|
||||
deleteYesOrNo() {
|
||||
if (this.loadedEvent.IsRecurring) {
|
||||
this.alertController.create({
|
||||
@@ -350,49 +273,6 @@ export class ViewEventPage implements OnInit {
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/* if (this.sesseionStora.user.Profile == 'MDGPR' || this.sesseionStora.user.Profile == 'PR') {
|
||||
this.eventsService.deleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName).subscribe(async () => {
|
||||
const alert = await this.alertController.create({
|
||||
cssClass: 'my-custom-class',
|
||||
header: 'Evento removido',
|
||||
buttons: ['OK']
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
alert.dismiss();
|
||||
}, 1500);
|
||||
this.goBack();
|
||||
this.httpErrorHandle.httpsSucessMessagge('delete event')
|
||||
}, () => { },
|
||||
() => {
|
||||
loader.remove();
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
this.eventsService.genericDeleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName, this.loadedEvent.CalendarId).subscribe(async () => {
|
||||
const alert = await this.alertController.create({
|
||||
cssClass: 'my-custom-class',
|
||||
header: 'Evento removido',
|
||||
buttons: ['OK']
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
alert.dismiss();
|
||||
}, 1500);
|
||||
this.goBack();
|
||||
this.httpErrorHandle.httpsSucessMessagge('delete event')
|
||||
}, (error) => {
|
||||
this.httpErrorHandle.httpStatusHandle(error)
|
||||
},
|
||||
() => {
|
||||
loader.remove();
|
||||
});
|
||||
|
||||
|
||||
} */
|
||||
}
|
||||
|
||||
|
||||
@@ -435,6 +315,7 @@ export class ViewEventPage implements OnInit {
|
||||
componentProps: {
|
||||
eventId: this.loadedEvent.EventId,
|
||||
caller: this.caller,
|
||||
closeModal: true
|
||||
},
|
||||
cssClass: 'modal modal-desktop',
|
||||
|
||||
@@ -451,10 +332,10 @@ export class ViewEventPage implements OnInit {
|
||||
this.loadEvent()
|
||||
this.isEventEdited = true;
|
||||
|
||||
if (res.data.Attendees?.length >= 1) {
|
||||
this.loadedEvent.HasAttachments = true
|
||||
this.getAttachments()
|
||||
}
|
||||
// if (res.data.Attendees?.length >= 1) {
|
||||
// this.loadedEvent.HasAttachments = true
|
||||
// // this.getAttachments()
|
||||
// }
|
||||
console.log('res', res)
|
||||
}
|
||||
|
||||
@@ -491,11 +372,11 @@ export class ViewEventPage implements OnInit {
|
||||
this.loadEvent()
|
||||
this.isEventEdited = true;
|
||||
|
||||
if (res.data.Attendees?.length >= 1) {
|
||||
this.loadedEvent.HasAttachments = true
|
||||
this.getAttachments()
|
||||
}
|
||||
console.log('res', res)
|
||||
// if (res.data.Attendees?.length >= 1) {
|
||||
// this.loadedEvent.HasAttachments = true
|
||||
// // this.getAttachments()
|
||||
// }
|
||||
// console.log('res', res)
|
||||
}
|
||||
|
||||
});
|
||||
@@ -508,17 +389,6 @@ export class ViewEventPage implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
getAttachments() {
|
||||
if (this.loadedEvent.HasAttachments) {
|
||||
this.attachmentsService.getAttachmentsById(this.loadedEvent.EventId).subscribe(res => {
|
||||
this.loadedEvent.Attachments = res;
|
||||
|
||||
}, ((erro) => {
|
||||
console.error('editgetAttchament', erro)
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
async LoadDocumentDetails() {
|
||||
|
||||
const docId = this.loadedEvent.Attachments[this.dicIndex].SourceId
|
||||
|
||||
@@ -341,29 +341,6 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
this.loadFiles();
|
||||
}
|
||||
|
||||
// async goToEvent(event: any) {
|
||||
// let classs;
|
||||
// if (window.innerWidth < 701) {
|
||||
// classs = 'modal modal-desktop'
|
||||
// } else {
|
||||
// classs = 'modal modal-desktop showAsideOptions'
|
||||
// }
|
||||
|
||||
// const modal = await this.modalController.create({
|
||||
// component: ViewEventPage,
|
||||
// componentProps: {
|
||||
// eventId: event.id,
|
||||
// CalendarId: event.calendarId
|
||||
// },
|
||||
// cssClass: classs,
|
||||
// });
|
||||
|
||||
// modal.onDidDismiss().then((res) => {
|
||||
|
||||
// });
|
||||
// await modal.present();
|
||||
// }
|
||||
|
||||
ngOnDestroy() {
|
||||
window.removeEventListener('scroll', this.scrollChangeCallback, true);
|
||||
}
|
||||
|
||||
@@ -264,6 +264,7 @@ export class EventsPage implements OnInit {
|
||||
}
|
||||
} catch (error) {
|
||||
tracing.setAttribute('component.catch', 'true')
|
||||
tracing.setAttribute('component.catch', JSON.stringify(error))
|
||||
tracing.setAttribute('outcome', 'failed')
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ export class ApproveEventPage implements OnInit {
|
||||
|
||||
try {
|
||||
|
||||
this.AgendaDataRepositoryService.eventToaprovalStatus(serialNumber, 'Revision').subscribe((value) => {
|
||||
this.AgendaDataRepositoryService.eventToaprovalStatus(serialNumber, 'Revision', res.data.note).subscribe((value) => {
|
||||
this.httpErrorHandle.httpsSucessMessagge('Rever')
|
||||
this.TaskService.loadEventosParaAprovacao();
|
||||
this.goBack();
|
||||
@@ -229,7 +229,7 @@ export class ApproveEventPage implements OnInit {
|
||||
const loader = this.toastService.loading()
|
||||
try {
|
||||
/* await this.processes.PostTaskAction(body).toPromise(); */
|
||||
this.AgendaDataRepositoryService.eventToaprovalStatus(serialNumber, 'Declined').subscribe((value) => {
|
||||
this.AgendaDataRepositoryService.eventToaprovalStatus(serialNumber, 'Declined', '').subscribe((value) => {
|
||||
this.httpErrorHandle.httpsSucessMessagge('Rejeitar')
|
||||
this.TaskService.loadEventosParaAprovacao();
|
||||
this.goBack();
|
||||
|
||||
@@ -268,10 +268,10 @@ export class AgendaDataRepositoryService {
|
||||
|
||||
}
|
||||
|
||||
eventToaprovalStatus(eventId, status) {
|
||||
eventToaprovalStatus(eventId, status, comment: string) {
|
||||
let statusObject = {
|
||||
status: this.utils.statusEventAproval(status),
|
||||
comment: ""
|
||||
comment: comment
|
||||
}
|
||||
return this.agendaDataService.updateEventStatus(eventId, statusObject)
|
||||
}
|
||||
@@ -322,6 +322,7 @@ export class AgendaDataRepositoryService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
async clearSharedCalendar() {
|
||||
return await this.agendaLocalDataSourceService.clearSharedCalendar()
|
||||
}
|
||||
|
||||
@@ -45,6 +45,22 @@ export class AgendaLocalDataSourceService {
|
||||
}
|
||||
}
|
||||
|
||||
async clearAndAddRecords(data: SharedCalendarListItemOutputDTO[]) {
|
||||
try {
|
||||
await AgendaDataSource.transaction('rw', AgendaDataSource.shareCalendar, async () => {
|
||||
// Clear existing records from myTable
|
||||
await AgendaDataSource.shareCalendar.clear();
|
||||
|
||||
await AgendaDataSource.shareCalendar.bulkAdd(data);
|
||||
|
||||
});
|
||||
console.log('Clear and add operations completed within transaction.');
|
||||
} catch (error) {
|
||||
console.error('Error performing transaction:', error, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async createCalendar(data: SharedCalendarListItemOutputDTO) {
|
||||
// db.eve
|
||||
try {
|
||||
|
||||
@@ -377,7 +377,7 @@ export class ListBoxService {
|
||||
const hours = Math.floor((totalMinutes % (60 * 24)) / 60);
|
||||
const minutes = totalMinutes % 60;
|
||||
|
||||
return `${days}d`
|
||||
return `${days}d ${hours}h ${minutes}m`
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -50,8 +50,6 @@ export class ApproveEventPage implements OnInit {
|
||||
constructor(
|
||||
private router: Router,
|
||||
private modalController: ModalController,
|
||||
private processes: ProcessesService,
|
||||
private attachmentsService: AttachmentsService,
|
||||
private popoverController: PopoverController,
|
||||
private toastService: ToastService,
|
||||
public ThemeService: ThemeService,
|
||||
@@ -150,7 +148,7 @@ export class ApproveEventPage implements OnInit {
|
||||
|
||||
try {
|
||||
/* await this.processes.PostTaskAction(body).toPromise() */
|
||||
this.agendaDataRepository.eventToaprovalStatus(serialNumber, 'Declined').subscribe((value) => {
|
||||
this.agendaDataRepository.eventToaprovalStatus(serialNumber, 'Declined', "").subscribe((value) => {
|
||||
this.httpErroHandle.httpsSucessMessagge('Rejeitar');
|
||||
this.TaskService.loadEventosParaAprovacao();
|
||||
}, ((error) => {
|
||||
@@ -240,7 +238,7 @@ export class ApproveEventPage implements OnInit {
|
||||
|
||||
try {
|
||||
/* await this.processes.PostTaskAction(body).toPromise(); */
|
||||
this.agendaDataRepository.eventToaprovalStatus(serialNumber, 'Revision').subscribe((value) => {
|
||||
this.agendaDataRepository.eventToaprovalStatus(serialNumber, 'Revision', res.data.note).subscribe((value) => {
|
||||
this.httpErroHandle.httpsSucessMessagge('Rever')
|
||||
this.TaskService.loadEventosParaAprovacao();
|
||||
this.close();
|
||||
|
||||
@@ -390,7 +390,7 @@ export class EditEventToApprovePage implements OnInit {
|
||||
const calendar = await this.agendaDataRepository.getCalendarByUserId((this.eventProcess as any).owner.wxUserId)
|
||||
if(calendar.isOk()) {
|
||||
|
||||
this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event, false, calendar.value, tracing).subscribe((value) => {
|
||||
this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event, true, calendar.value, tracing).subscribe((value) => {
|
||||
console.log(value)
|
||||
this.close()
|
||||
tracing.setAttribute('outcome', 'success')
|
||||
|
||||
@@ -179,11 +179,20 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div *ngIf="_postEvent.EventRecurrence.frequency == 'weekly'" class="container-div ion-item-class-2 d-flex pl-45 pb-20 justify-content-between">
|
||||
<div class="days-to-select">Seg</div>
|
||||
<div class="days-to-select">Ter</div>
|
||||
<div class="days-to-select">Qua</div>
|
||||
<div class="days-to-select">Qui</div>
|
||||
<div class="days-to-select">Sex</div>
|
||||
<div class="days-to-select">Sab</div>
|
||||
<div class="days-to-select">Dom</div>
|
||||
</div> -->
|
||||
|
||||
<div *ngIf="_postEvent.EventRecurrence.frequency != 'never'" class="container-div">
|
||||
<div class="ion-item-class-2 d-flex" >
|
||||
<div class="ion-icon-class">
|
||||
@@ -423,7 +432,7 @@
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="width-100 d-flex justify-space-between px-20">
|
||||
<ion-buttons slot="start">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="validationEditAllEvent()">
|
||||
<button class="btn-ok" fill="clear" color="#fff" (click)="save_v2()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
@@ -17,7 +17,7 @@ ion-content{
|
||||
padding: 30px 20px 0px 20px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
|
||||
.title-content{
|
||||
margin: 0px auto;
|
||||
padding: 0 !important;
|
||||
@@ -90,7 +90,7 @@ ion-content{
|
||||
.list-people{
|
||||
|
||||
float: left;
|
||||
|
||||
|
||||
}
|
||||
.add-people{
|
||||
width: rem(45);
|
||||
@@ -149,7 +149,7 @@ ion-content{
|
||||
--color:#ffffff;
|
||||
margin:10px;
|
||||
}
|
||||
|
||||
|
||||
.text-input{
|
||||
width: 100%;
|
||||
border: 1px solid #ebebeb;
|
||||
@@ -157,7 +157,7 @@ ion-content{
|
||||
padding: 0 !important;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
|
||||
/* Error Messages */
|
||||
.error{
|
||||
color:red;
|
||||
@@ -171,7 +171,7 @@ ion-content{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.app-name{
|
||||
background: var(--title-text-color);
|
||||
border-radius: 18px;
|
||||
@@ -211,4 +211,23 @@ ion-content{
|
||||
|
||||
.materia-top {
|
||||
padding-top: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.days-to-select{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #ebebeb;
|
||||
border-radius: 50px;
|
||||
box-shadow: 0px 0px 10px #f9f9f9;
|
||||
border: 1px solid #d1d1d1;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
-webkit-border-radius: 50px;
|
||||
-moz-border-radius: 50px;
|
||||
-ms-border-radius: 50px;
|
||||
-o-border-radius: 50px;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import { TableSharedCalendar } from 'src/app/services/Repositorys/Agenda/agenda-
|
||||
import { RoleIdService } from 'src/app/services/role-id.service'
|
||||
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { AttendeesLIstChangeDetector } from 'src/app/services/Repositorys/Agenda/async/change/attendeesLIstChangeDetector';
|
||||
import { EventRecurrenceComponentReturn, EventRecurrencePage } from 'src/app/modals/event-recurrence/event-recurrence.page';
|
||||
@Component({
|
||||
selector: 'app-edit-event',
|
||||
templateUrl: './edit-event.page.html',
|
||||
@@ -105,6 +106,7 @@ export class EditEventPage implements OnInit {
|
||||
CalendarNamesOptions = ['Oficial', 'Pessoal']
|
||||
|
||||
dateDifference = 0
|
||||
editAllEvent = false
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
@@ -118,6 +120,8 @@ export class EditEventPage implements OnInit {
|
||||
public RoleIdService: RoleIdService,
|
||||
) {
|
||||
this.sharedCalendar = this.agendaDataRepository.getShareCalendarItemsLiveWithOrder()
|
||||
|
||||
|
||||
}
|
||||
|
||||
hasPrCalendar(data: TableSharedCalendar[]) {
|
||||
@@ -148,6 +152,7 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
this.allDayCheck = this.postEvent.IsAllDayEvent;
|
||||
if (!this.restoreTemporaryData()) {
|
||||
this.validationEditAllEvent()
|
||||
// clear
|
||||
|
||||
if (this._postEvent) {
|
||||
@@ -366,50 +371,37 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
validationEditAllEvent() {
|
||||
async validationEditAllEvent() {
|
||||
|
||||
if (this.postEvent.IsRecurring ) {
|
||||
const modal = await this.modalController.create({
|
||||
component: EventRecurrencePage,
|
||||
componentProps: {},
|
||||
cssClass: 'event-recurrence-modal',
|
||||
|
||||
if (this.postEvent.IsRecurring && this._postEvent.EventRecurrence.frequency != 'never') {
|
||||
this.alertController.create({
|
||||
header: 'Editar evento?',
|
||||
message: 'Este evento tem recorrência, deseja editar a Sequência de eventos?',
|
||||
inputs: [
|
||||
{
|
||||
name: 'confirm',
|
||||
type: 'checkbox',
|
||||
label: '',
|
||||
value: 'confirm',
|
||||
checked: false
|
||||
}
|
||||
],
|
||||
buttons: [
|
||||
{
|
||||
text: 'Sim',
|
||||
handler: (data) => {
|
||||
// Check if the checkbox is checked
|
||||
if (data.includes('confirm')) {
|
||||
this.save_v2(true)
|
||||
} else {
|
||||
this.save_v2(false)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
handler: () => {
|
||||
this.save_v2(false)
|
||||
}
|
||||
}
|
||||
]
|
||||
}).then(res => {
|
||||
res.present();
|
||||
});
|
||||
} else {
|
||||
this.save_v2(false)
|
||||
|
||||
modal.onDidDismiss().then((res) => {
|
||||
|
||||
const data: EventRecurrenceComponentReturn = res.data
|
||||
if(data =='EditAll') {
|
||||
this.editAllEvent = true
|
||||
} else if (data == 'EditOne') {
|
||||
this.editAllEvent = false
|
||||
} else if(data == 'Cancel') {
|
||||
this.close()
|
||||
} else {
|
||||
this.close()
|
||||
}
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@XTracerAsync({name:'desktop/edit-event', bugPrint: true, daley: 4000})
|
||||
async save_v2(editAllEvent, tracing?: TracingType) {
|
||||
async save_v2(tracing?: TracingType) {
|
||||
this.injectValidation()
|
||||
this.runValidation()
|
||||
|
||||
@@ -429,7 +421,7 @@ export class EditEventPage implements OnInit {
|
||||
|
||||
if(calendar.isOk()) {
|
||||
this.showLoader = true;
|
||||
this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent, editAllEvent, calendar.value, tracing).subscribe((value) => {
|
||||
this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent, this.editAllEvent, calendar.value, tracing).subscribe((value) => {
|
||||
console.log(value)
|
||||
|
||||
this.httpErrorHandle.httpsSucessMessagge('Editar evento')
|
||||
|
||||
@@ -12,7 +12,6 @@ import { SearchList } from 'src/app/models/search-document';
|
||||
import { FileService } from 'src/app/services/functions/file.service';
|
||||
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { ViewEventPage } from 'src/app/modals/view-event/view-event.page';
|
||||
import { Storage } from '@ionic/storage';
|
||||
import { ChatSystemService } from 'src/app/services/chat/chat-system.service';
|
||||
import { MessageService } from 'src/app/services/chat/message.service';
|
||||
@@ -175,28 +174,6 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
|
||||
} catch (err) { }
|
||||
}
|
||||
|
||||
// async goToEvent(event: any) {
|
||||
// let classs;
|
||||
// if (window.innerWidth < 701) {
|
||||
// classs = 'modal modal-desktop'
|
||||
// } else {
|
||||
// classs = 'modal modal-desktop showAsideOptions'
|
||||
// }
|
||||
|
||||
// const modal = await this.modalController.create({
|
||||
// component: ViewEventPage,
|
||||
// componentProps: {
|
||||
// eventId: event.id,
|
||||
// CalendarId: event.calendarId
|
||||
// },
|
||||
// cssClass: classs,
|
||||
// });
|
||||
|
||||
// modal.onDidDismiss().then((res) => {
|
||||
|
||||
// });
|
||||
// await modal.present();
|
||||
// }
|
||||
|
||||
ngAfterViewInit() {
|
||||
this.scrollChangeCallback = () => this.onContentScrolled(event);
|
||||
|
||||
@@ -392,27 +392,6 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
||||
return this.timeService.showDateDuration(start);
|
||||
}
|
||||
|
||||
// async goToEvent(event: any) {
|
||||
// let classs;
|
||||
// if (window.innerWidth < 701) {
|
||||
// classs = 'modal modal-desktop'
|
||||
// } else {
|
||||
// classs = 'modal modal-desktop showAsideOptions'
|
||||
// }
|
||||
// const modal = await this.modalController.create({
|
||||
// component: ViewEventPage,
|
||||
// componentProps: {
|
||||
// eventId: event.id,
|
||||
// CalendarId: event.calendarId
|
||||
// },
|
||||
// cssClass: classs,
|
||||
// });
|
||||
|
||||
// modal.onDidDismiss().then((res) => {
|
||||
|
||||
// });
|
||||
// await modal.present();
|
||||
// }
|
||||
|
||||
sendMessage() {
|
||||
this.ChatSystemService.getDmRoom(this.roomId).send({})
|
||||
|
||||
@@ -6,12 +6,8 @@ import { SearchList } from 'src/app/models/search-document';
|
||||
import { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page';
|
||||
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||
import { AttachmentsService } from 'src/app/services/attachments.service';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { Event, EventToApproveEdit } from '../../../models/event.model';
|
||||
import { NgxMatDateFormats, NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';
|
||||
import { NavigationExtras, Router } from '@angular/router';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'
|
||||
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
|
||||
@@ -320,7 +316,7 @@ export class EditEventToApproveComponent implements OnInit {
|
||||
const calendar = await this.agendaDataRepository.getCalendarByUserId((this.eventProcess as any).owner.wxUserId)
|
||||
|
||||
if(calendar.isOk()) {
|
||||
this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event,false, calendar.value, tracing).subscribe((value) => {
|
||||
this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event, true, calendar.value, tracing).subscribe((value) => {
|
||||
console.log(value)
|
||||
this.httpErroHalde.httpsSucessMessagge('Editar evento')
|
||||
window['approve-event-getTask']()
|
||||
@@ -382,40 +378,6 @@ export class EditEventToApproveComponent implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* this.loadedAttachments.forEach((document:any)=>{
|
||||
if(document['action'] == 'add') {
|
||||
delete document.action
|
||||
this.attachmentsService.setEventAttachmentById(document).subscribe(()=>{
|
||||
window['approve-event-getTask'] ()
|
||||
// this.toastService._successMessage();
|
||||
}, error =>{
|
||||
if(error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest();
|
||||
}
|
||||
});
|
||||
} else if(document['action'] == 'delete') {
|
||||
delete document.action
|
||||
this.attachmentsService.deleteEventAttachmentById(document.Id).subscribe( res=>{
|
||||
window['approve-event-getTask'] ()
|
||||
// this.toastService._successMessage()
|
||||
}, error =>{
|
||||
if(error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}) */
|
||||
|
||||
}
|
||||
|
||||
async openAttendees() {
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at code@dexie.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
@@ -0,0 +1,65 @@
|
||||
HOW TO CONTRIBUTE
|
||||
=================
|
||||
|
||||
We appreciate contributions in forms of:
|
||||
|
||||
* issues
|
||||
* help answering questions in [issues](https://github.com/dexie/Dexie.js/issues) and on [stackoverflow](https://stackexchange.com/filters/233583/dexie-stackoverflow)
|
||||
* fixing bugs via pull-requests
|
||||
* developing addons or other [derived work](https://dexie.org/docs/DerivedWork)
|
||||
* promoting Dexie.js
|
||||
* sharing ideas
|
||||
|
||||
Contribute while developing your own app
|
||||
========================================
|
||||
|
||||
Dexie uses pnpm package manager. Refer to [pnpm.io/installation](https://pnpm.io/installation) for how to install pnpm.
|
||||
|
||||
Here is a little cheat-sheet for how to symlink your app's `node_modules/dexie` to a place where you can edit the source, version control your changes and create pull requests back to Dexie. Assuming you've already ran `npm install dexie` for the app your are developing.
|
||||
|
||||
1. Fork Dexie.js from the web gui on github
|
||||
2. Clone your fork locally by launching a shell/command window and cd to a neutral place (like `~repos/`, `c:\repos` or whatever)
|
||||
3. Run the following commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/YOUR-USERNAME/Dexie.js.git dexie
|
||||
cd dexie
|
||||
pnpm install
|
||||
pnpm run build
|
||||
npm link # Or yarn link or pnpm link --global depending on what package manager you are using.
|
||||
```
|
||||
3. cd to your app directory and write:
|
||||
```
|
||||
npm link dexie # Or yarn link dexie / pnpm link dexie depending on your package manager.
|
||||
```
|
||||
|
||||
Your app's `node_modules/dexie/` is now sym-linked to the Dexie.js clone on your hard drive so any change you do there will propagate to your app. Build dexie.js using `pnpm run build` or `pnpm run watch`. The latter will react on any source file change and rebuild the dist files.
|
||||
|
||||
That's it. Now you're up and running to test and commit changes to files under dexie/src/* or dexie/test/* and the changes will instantly affect the app you are developing.
|
||||
|
||||
If you're on yarn or pnpm, do the same procedures using yarn link / pnpm link.
|
||||
|
||||
Pull requests are more than welcome. Some advices are:
|
||||
|
||||
* Run pnpm test before making a pull request.
|
||||
* If you find an issue, a unit test that reproduces it is lovely ;). If you don't know where to put it, put it in `test/tests-misc.js`. We use qunit. Just look at existing tests in `tests-misc.js` to see how they should be written. Tests are transpiled in the build script so you can use ES6 if you like.
|
||||
|
||||
Build
|
||||
-----
|
||||
```
|
||||
# To install pnpm, see https://pnpm.io/installation
|
||||
pnpm install
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
Test
|
||||
----
|
||||
```
|
||||
pnpm test
|
||||
```
|
||||
|
||||
Watch
|
||||
-----
|
||||
```
|
||||
pnpm run watch
|
||||
```
|
||||
@@ -0,0 +1,202 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
Dexie.js
|
||||
|
||||
Copyright (c) 2014-2017 David Fahlander
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,292 @@
|
||||
# Dexie.js
|
||||
|
||||
[![NPM Version][npm-image]][npm-url] 
|
||||
|
||||
Dexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org.
|
||||
|
||||
#### Why Dexie.js?
|
||||
|
||||
IndexedDB is the portable database for all browser engines. Dexie.js makes it fun and easy to work with.
|
||||
|
||||
But also:
|
||||
|
||||
* Dexie.js is widely used by 100,000 of web sites, apps and other projects and supports all browsers, Electron for Desktop apps, Capacitor for iOS / Android apps and of course pure PWAs.
|
||||
* Dexie.js works around bugs in the IndexedDB implementations, giving a more stable user experience.
|
||||
* It's an easy step to [make it sync](https://dexie.org/#sync).
|
||||
|
||||
#### Hello World
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script src="https://unpkg.com/dexie/dist/dexie.js"></script>
|
||||
<script>
|
||||
|
||||
//
|
||||
// Declare Database
|
||||
//
|
||||
const db = new Dexie('FriendDatabase');
|
||||
db.version(1).stores({
|
||||
friends: '++id, age'
|
||||
});
|
||||
|
||||
//
|
||||
// Play with it
|
||||
//
|
||||
db.friends.add({ name: 'Alice', age: 21 }).then(() => {
|
||||
return db.friends
|
||||
.where('age')
|
||||
.below(30)
|
||||
.toArray();
|
||||
}).then(youngFriends => {
|
||||
alert (`My young friends: ${JSON.stringify(youngFriends)}`);
|
||||
}).catch (e => {
|
||||
alert(`Oops: ${e}`);
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
```
|
||||
|
||||
Yes, it's that simple. Read [the docs](https://dexie.org/docs/) to get into the details.
|
||||
|
||||
#### Hello World (for modern browsers)
|
||||
|
||||
All modern browsers support ES modules and top-level awaits. No transipler needed. Here's the previous example in a modern flavour:
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script type="module">
|
||||
// Import Dexie
|
||||
import { Dexie } from 'https://unpkg.com/dexie/dist/modern/dexie.mjs';
|
||||
|
||||
//
|
||||
// Declare Database
|
||||
//
|
||||
const db = new Dexie('FriendDatabase');
|
||||
db.version(1).stores({
|
||||
friends: '++id, age'
|
||||
});
|
||||
|
||||
//
|
||||
// Play with it
|
||||
//
|
||||
try {
|
||||
await db.friends.add({ name: 'Alice', age: 21 });
|
||||
|
||||
const youngFriends = await db.friends
|
||||
.where('age')
|
||||
.below(30)
|
||||
.toArray();
|
||||
|
||||
alert(`My young friends: ${JSON.stringify(youngFriends)}`);
|
||||
} catch (e) {
|
||||
alert(`Oops: ${e}`);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
```
|
||||
|
||||
#### Hello World (React + Typescript)
|
||||
|
||||
Real-world apps are often built using components in various frameworks. Here's a version of Hello World written for React and Typescript. There are also links below this sample to more tutorials for different frameworks...
|
||||
|
||||
```tsx
|
||||
import React from 'react';
|
||||
import { Dexie, type EntityTable } from 'dexie';
|
||||
import { useLiveQuery } from 'dexie-react-hooks';
|
||||
|
||||
// Typing for your entities (hint is to move this to its own module)
|
||||
export interface Friend {
|
||||
id: number;
|
||||
name: string;
|
||||
age: number;
|
||||
}
|
||||
|
||||
// Database declaration (move this to its own module also)
|
||||
export const db = new Dexie('FriendDatabase') as Dexie & {
|
||||
friends: EntityTable<Friend, 'id'>;
|
||||
};
|
||||
db.version(1).stores({
|
||||
friends: '++id, age',
|
||||
});
|
||||
|
||||
// Component:
|
||||
export function MyDexieReactComponent() {
|
||||
const youngFriends = useLiveQuery(() =>
|
||||
db.friends
|
||||
.where('age')
|
||||
.below(30)
|
||||
.toArray()
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<h3>My young friends</h3>
|
||||
<ul>
|
||||
{youngFriends?.map((f) => (
|
||||
<li key={f.id}>
|
||||
Name: {f.name}, Age: {f.age}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<button
|
||||
onClick={() => {
|
||||
db.friends.add({ name: 'Alice', age: 21 });
|
||||
}}
|
||||
>
|
||||
Add another friend
|
||||
</button>
|
||||
</>
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
[Tutorials for React, Svelte, Vue, Angular and vanilla JS](https://dexie.org/docs/Tutorial/Getting-started)
|
||||
|
||||
[API Reference](https://dexie.org/docs/API-Reference)
|
||||
|
||||
[Samples](https://dexie.org/docs/Samples)
|
||||
|
||||
### Performance
|
||||
|
||||
Dexie has kick-ass performance. Its [bulk methods](<https://dexie.org/docs/Table/Table.bulkPut()>) take advantage of a lesser-known feature in IndexedDB that makes it possible to store stuff without listening to every onsuccess event. This speeds up the performance to a maximum.
|
||||
|
||||
#### Supported operations
|
||||
|
||||
```js
|
||||
above(key): Collection;
|
||||
aboveOrEqual(key): Collection;
|
||||
add(item, key?): Promise;
|
||||
and(filter: (x) => boolean): Collection;
|
||||
anyOf(keys[]): Collection;
|
||||
anyOfIgnoreCase(keys: string[]): Collection;
|
||||
below(key): Collection;
|
||||
belowOrEqual(key): Collection;
|
||||
between(lower, upper, includeLower?, includeUpper?): Collection;
|
||||
bulkAdd(items: Array): Promise;
|
||||
bulkDelete(keys: Array): Promise;
|
||||
bulkPut(items: Array): Promise;
|
||||
clear(): Promise;
|
||||
count(): Promise;
|
||||
delete(key): Promise;
|
||||
distinct(): Collection;
|
||||
each(callback: (obj) => any): Promise;
|
||||
eachKey(callback: (key) => any): Promise;
|
||||
eachPrimaryKey(callback: (key) => any): Promise;
|
||||
eachUniqueKey(callback: (key) => any): Promise;
|
||||
equals(key): Collection;
|
||||
equalsIgnoreCase(key): Collection;
|
||||
filter(fn: (obj) => boolean): Collection;
|
||||
first(): Promise;
|
||||
get(key): Promise;
|
||||
inAnyRange(ranges): Collection;
|
||||
keys(): Promise;
|
||||
last(): Promise;
|
||||
limit(n: number): Collection;
|
||||
modify(changeCallback: (obj: T, ctx:{value: T}) => void): Promise;
|
||||
modify(changes: { [keyPath: string]: any } ): Promise;
|
||||
noneOf(keys: Array): Collection;
|
||||
notEqual(key): Collection;
|
||||
offset(n: number): Collection;
|
||||
or(indexOrPrimayKey: string): WhereClause;
|
||||
orderBy(index: string): Collection;
|
||||
primaryKeys(): Promise;
|
||||
put(item: T, key?: Key): Promise;
|
||||
reverse(): Collection;
|
||||
sortBy(keyPath: string): Promise;
|
||||
startsWith(key: string): Collection;
|
||||
startsWithAnyOf(prefixes: string[]): Collection;
|
||||
startsWithAnyOfIgnoreCase(prefixes: string[]): Collection;
|
||||
startsWithIgnoreCase(key: string): Collection;
|
||||
toArray(): Promise;
|
||||
toCollection(): Collection;
|
||||
uniqueKeys(): Promise;
|
||||
until(filter: (value) => boolean, includeStopEntry?: boolean): Collection;
|
||||
update(key: Key, changes: { [keyPath: string]: any }): Promise;
|
||||
```
|
||||
|
||||
This is a mix of methods from [WhereClause](https://dexie.org/docs/WhereClause/WhereClause), [Table](https://dexie.org/docs/Table/Table) and [Collection](https://dexie.org/docs/Collection/Collection). Dive into the [API reference](https://dexie.org/docs/API-Reference) to see the details.
|
||||
|
||||
## Dexie Cloud
|
||||
|
||||
[Dexie Cloud](https://dexie.org/cloud/) is a commercial offering that can be used as an add-on to Dexie.js. It syncs a Dexie database with a server and enables developers to build apps without having to care about backend or database layer else than the frontend code with Dexie.js as the sole database layer.
|
||||
|
||||
Source for a sample Dexie Cloud app: [Dexie Cloud To-do app](https://github.com/dexie/Dexie.js/tree/master/samples/dexie-cloud-todo-app)
|
||||
|
||||
See the sample Dexie Cloud app in action: https://dexie.github.io/Dexie.js/dexie-cloud-todo-app/
|
||||
|
||||
## Samples
|
||||
|
||||
https://dexie.org/docs/Samples
|
||||
|
||||
https://github.com/dexie/Dexie.js/tree/master/samples
|
||||
|
||||
## Knowledge Base
|
||||
|
||||
[https://dexie.org/docs/Questions-and-Answers](https://dexie.org/docs/Questions-and-Answers)
|
||||
|
||||
## Website
|
||||
|
||||
[https://dexie.org](https://dexie.org)
|
||||
|
||||
## Install via npm
|
||||
|
||||
```
|
||||
npm install dexie
|
||||
```
|
||||
|
||||
## Download
|
||||
|
||||
For those who don't like package managers, here's the download links:
|
||||
|
||||
### UMD (for legacy script includes as well as commonjs require):
|
||||
|
||||
https://unpkg.com/dexie@latest/dist/dexie.min.js
|
||||
|
||||
https://unpkg.com/dexie@latest/dist/dexie.min.js.map
|
||||
|
||||
### Modern (ES module):
|
||||
|
||||
https://unpkg.com/dexie@latest/dist/modern/dexie.min.mjs
|
||||
|
||||
https://unpkg.com/dexie@latest/dist/modern/dexie.min.mjs.map
|
||||
|
||||
### Typings:
|
||||
|
||||
https://unpkg.com/dexie@latest/dist/dexie.d.ts
|
||||
|
||||
# Contributing
|
||||
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
## Build
|
||||
|
||||
```
|
||||
pnpm install
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
```
|
||||
pnpm test
|
||||
```
|
||||
|
||||
## Watch
|
||||
|
||||
```
|
||||
pnpm run watch
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
[](https://www.lambdatest.com/)
|
||||
|
||||
[npm-image]: https://img.shields.io/npm/v/dexie.svg?style=flat
|
||||
[npm-url]: https://npmjs.org/package/dexie
|
||||
@@ -0,0 +1,26 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported | Branch
|
||||
| ------- | ------------------ | --------
|
||||
| 4.x | :white_check_mark: | master
|
||||
| 3.x | :white_check_mark: | master-3
|
||||
| 2.0.x | :x: | master-2
|
||||
| 1.5.x | :x: | master-1
|
||||
| < 1.5.1 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
To report a security vulnerability in Dexie.js, please send an email to code@dexie.org describing the vulnerability and how to reproduce it.
|
||||
|
||||
If we find an issue to be regarded as a security vulnerability, we will patch and release a new version in all the supported versions as soon as possible.
|
||||
Keep in mind though that this is an uncommercial open source project which means that sometimes you might have to be the one that
|
||||
*fixes* the issue and not just report it.
|
||||
|
||||
## Fixing a Vulnerability
|
||||
|
||||
Fix the issue in the corresponding branch for the major version according to the table above where it applies and
|
||||
create pull requests. Make sure that you have the words "security" or "vulnerability" in the title of the Pull Request
|
||||
in order to get the correct attention for it to be merged and released as soon as possible.
|
||||
|
||||
Vendored
+1174
File diff suppressed because it is too large
Load Diff
Vendored
+5898
File diff suppressed because it is too large
Load Diff
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+2
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
Vendored
+5871
File diff suppressed because it is too large
Load Diff
Vendored
+1
File diff suppressed because one or more lines are too long
+2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5768
File diff suppressed because it is too large
Load Diff
+1
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
export * from './dist/dexie.js';
|
||||
export { default } from './dist/dexie.js';
|
||||
@@ -0,0 +1,15 @@
|
||||
// Making the module version consumable via require - to prohibit
|
||||
// multiple occurrancies of the same module in the same app
|
||||
// (dual package hazard, https://nodejs.org/api/packages.html#dual-package-hazard)
|
||||
import _Dexie from "./dist/dexie.min.js";
|
||||
const DexieSymbol = Symbol.for("Dexie");
|
||||
const Dexie = globalThis[DexieSymbol] || (globalThis[DexieSymbol] = _Dexie);
|
||||
if (_Dexie.semVer !== Dexie.semVer) {
|
||||
throw new Error(`Two different versions of Dexie loaded in the same app: ${_Dexie.semVer} and ${Dexie.semVer}`);
|
||||
}
|
||||
const {
|
||||
liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity,
|
||||
PropModSymbol, PropModification, replacePrefix, add, remove } = Dexie;
|
||||
export { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Dexie, Entity,
|
||||
PropModSymbol, PropModification, replacePrefix, add, remove };
|
||||
export default Dexie;
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './dist/dexie.js';
|
||||
export { default } from './dist/dexie.js';
|
||||
@@ -0,0 +1,14 @@
|
||||
// Making the module version consumable via require - to prohibit
|
||||
// multiple occurrancies of the same module in the same app
|
||||
// (dual package hazard, https://nodejs.org/api/packages.html#dual-package-hazard)
|
||||
import _Dexie from "./dist/dexie.js";
|
||||
const DexieSymbol = Symbol.for("Dexie");
|
||||
const Dexie = globalThis[DexieSymbol] || (globalThis[DexieSymbol] = _Dexie);
|
||||
if (_Dexie.semVer !== Dexie.semVer) {
|
||||
throw new Error(`Two different versions of Dexie loaded in the same app: ${_Dexie.semVer} and ${Dexie.semVer}`);
|
||||
}
|
||||
const { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity,
|
||||
PropModSymbol, PropModification, replacePrefix, add, remove } = Dexie;
|
||||
export { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Dexie, Entity,
|
||||
PropModSymbol, PropModification, replacePrefix, add, remove };
|
||||
export default Dexie;
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"name": "dexie",
|
||||
"version": "4.0.7",
|
||||
"description": "A Minimalistic Wrapper for IndexedDB",
|
||||
"main": "dist/dexie.js",
|
||||
"module": "dist/dexie.mjs",
|
||||
"jsnext:main": "dist/dexie.mjs",
|
||||
"exports": {
|
||||
".": {
|
||||
"production": {
|
||||
"module": "./import-wrapper-prod.mjs",
|
||||
"import": "./import-wrapper-prod.mjs",
|
||||
"require": "./dist/dexie.min.js",
|
||||
"default": "./dist/dexie.min.js"
|
||||
},
|
||||
"development": {
|
||||
"module": "./import-wrapper.mjs",
|
||||
"import": "./import-wrapper.mjs",
|
||||
"require": "./dist/dexie.js",
|
||||
"default": "./dist/dexie.js"
|
||||
},
|
||||
"default": {
|
||||
"module": "./import-wrapper.mjs",
|
||||
"import": "./import-wrapper.mjs",
|
||||
"require": "./dist/dexie.js",
|
||||
"default": "./dist/dexie.js"
|
||||
}
|
||||
},
|
||||
"./package.json": "./package.json",
|
||||
"./dist/dexie.mjs": "./dist/dexie.mjs"
|
||||
},
|
||||
"typings": "dist/dexie.d.ts",
|
||||
"jspm": {
|
||||
"format": "cjs",
|
||||
"ignore": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dexie/Dexie.js.git"
|
||||
},
|
||||
"keywords": [
|
||||
"indexeddb",
|
||||
"browser",
|
||||
"database"
|
||||
],
|
||||
"author": "David Fahlander <https://github.com/dfahlander>",
|
||||
"contributors": [
|
||||
"Christopher Hunt <https://github.com/chrahunt>",
|
||||
"Nikolas Poniros <https://github.com/nponiros>",
|
||||
"Anders Ekdahl <https://github.com/andersekdahl>",
|
||||
"Yury Solovyov <https://github.com/YurySolovyov>",
|
||||
"Martin Diphoorn <https://github.com/martindiphoorn>"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/dexie/Dexie.js/issues"
|
||||
},
|
||||
"just-build": {
|
||||
"default": [
|
||||
"# Build all targets (es5, es6 and test) and minify the default es5 UMD module",
|
||||
"just-build release test"
|
||||
],
|
||||
"dexie": [
|
||||
"# Build dist/dexie.js, dist/dexie.mjs and dist/dexie.d.ts",
|
||||
"cd src",
|
||||
"tsc [--watch 'Watching for file changes']",
|
||||
"tsc --target es2020 --outdir ../tools/tmp/modern/src/",
|
||||
"rollup -c ../tools/build-configs/rollup.config.js",
|
||||
"rollup -c ../tools/build-configs/rollup.umd.config.js",
|
||||
"rollup -c ../tools/build-configs/rollup.modern.config.js",
|
||||
"node ../tools/replaceVersionAndDate.js ../dist/dexie.js",
|
||||
"node ../tools/replaceVersionAndDate.js ../dist/dexie.mjs",
|
||||
"node ../tools/replaceVersionAndDate.js ../dist/modern/dexie.mjs",
|
||||
"dts-bundle-generator --inline-declare-global --inline-declare-externals -o ../dist/dexie.d.ts public/index.d.ts",
|
||||
"node ../tools/prepend.js ../dist/dexie.d.ts ../tools/build-configs/banner.txt",
|
||||
"node ../tools/replaceVersionAndDate.js ../dist/dexie.d.ts"
|
||||
],
|
||||
"release": [
|
||||
"# Build ES5 umd module as well as the es6 module.",
|
||||
"just-build dexie",
|
||||
"node tools/replaceVersionAndDate.js dist/dexie.d.ts",
|
||||
"# Minify the default ES5 UMD module",
|
||||
"cd dist",
|
||||
"uglifyjs dexie.js -m -c negate_iife=0 -o dexie.min.js --source-map url=dexie.min.js.map",
|
||||
"# Minify modern bundle",
|
||||
"cd modern",
|
||||
"terser --comments false --compress --mangle --module --source-map url=dexie.min.mjs.map -o dexie.min.mjs -- dexie.mjs"
|
||||
],
|
||||
"dev": [
|
||||
"# Build ES5 module and the tests",
|
||||
"just-build dexie test"
|
||||
],
|
||||
"gzip": [
|
||||
"# Optionally gzip to find the size of the minified & gzipped version",
|
||||
"gzip dist/dexie.min.js -k -f -9"
|
||||
],
|
||||
"test": [
|
||||
"# Build the test suite.",
|
||||
"cd test",
|
||||
"tsc [--watch 'Watching for file changes']",
|
||||
"rollup -c ../tools/build-configs/rollup.tests.config.js"
|
||||
]
|
||||
},
|
||||
"homepage": "https://dexie.org",
|
||||
"devDependencies": {
|
||||
"@lambdatest/node-tunnel": "^4.0.7",
|
||||
"cross-env": "^7.0.3",
|
||||
"dts-bundle-generator": "^5.9.0",
|
||||
"just-build": "^0.9.24",
|
||||
"karma": "^6.1.1",
|
||||
"karma-chrome-launcher": "^3.1.0",
|
||||
"karma-firefox-launcher": "^2.1.0",
|
||||
"karma-mocha-reporter": "^2.2.5",
|
||||
"karma-qunit": "^4.1.1",
|
||||
"karma-webdriver-launcher": "^1.0.8",
|
||||
"qunit": "^2.10.0",
|
||||
"qunitjs": "^1.23.1",
|
||||
"rollup": "^2.40.0",
|
||||
"rollup-plugin-cleanup": "^3.2.1",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
"rollup-plugin-sourcemaps": "^0.6.3",
|
||||
"rxjs": "^6.6.6",
|
||||
"safari-14-idb-fix": "^3.0.0",
|
||||
"serve-static": "^1.14.1",
|
||||
"sorted-json": "^0.2.6",
|
||||
"terser": "^5.3.1",
|
||||
"tslib": "^2.1.0",
|
||||
"typescript": "^5.3.3",
|
||||
"uglify-js": "^3.9.2"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "just-build",
|
||||
"watch": "just-build --watch",
|
||||
"clean": "rm -rf tools/tmp && rm dist/*.js && rm dist/*.map && rm dist/*.ts && rm dist/*.mjs",
|
||||
"test": "pnpm run build && pnpm run test:typings && pnpm run test:unit",
|
||||
"test:unit": "karma start test/karma.conf.js --single-run",
|
||||
"test:typings": "tsc -p test/typings-test/",
|
||||
"test:debug": "karma start test/karma.conf.js --log-level debug",
|
||||
"test:ltcloud": "cross-env LAMBDATEST=true pnpm run test:ltTunnel & sleep 10 && pnpm run test:unit; UNIT_STATUS=$?; kill $(cat tunnel.pid); exit $UNIT_STATUS",
|
||||
"test:ltTunnel": "node test/lt-local"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 4.0 MiB |
@@ -1,961 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[2],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js":
|
||||
/*!**************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js ***!
|
||||
\**************************************************************/
|
||||
/*! exports provided: ion_app, ion_buttons, ion_content, ion_footer, ion_header, ion_router_outlet, ion_title, ion_toolbar */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_app", function() { return App; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_buttons", function() { return Buttons; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_content", function() { return Content; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_footer", function() { return Footer; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_header", function() { return Header; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_router_outlet", function() { return RouterOutlet; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_title", function() { return ToolbarTitle; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_toolbar", function() { return Toolbar; });
|
||||
/* harmony import */ var _index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-44bf8136.js */ "./node_modules/@ionic/core/dist/esm/index-44bf8136.js");
|
||||
/* harmony import */ var _ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-837be8f3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-837be8f3.js");
|
||||
/* harmony import */ var _helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-5c745fbd.js */ "./node_modules/@ionic/core/dist/esm/helpers-5c745fbd.js");
|
||||
/* harmony import */ var _index_37b50f53_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index-37b50f53.js */ "./node_modules/@ionic/core/dist/esm/index-37b50f53.js");
|
||||
/* harmony import */ var _cubic_bezier_685f606a_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubic-bezier-685f606a.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-685f606a.js");
|
||||
/* harmony import */ var _theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./theme-3f0b0c04.js */ "./node_modules/@ionic/core/dist/esm/theme-3f0b0c04.js");
|
||||
/* harmony import */ var _framework_delegate_d1eb6504_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./framework-delegate-d1eb6504.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-d1eb6504.js");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";
|
||||
|
||||
const App = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
}
|
||||
componentDidLoad() {
|
||||
{
|
||||
rIC(() => {
|
||||
const isHybrid = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'hybrid');
|
||||
if (!_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing')) {
|
||||
__webpack_require__.e(/*! import() | tap-click-252af35a-js */ "tap-click-252af35a-js").then(__webpack_require__.bind(null, /*! ./tap-click-252af35a.js */ "./node_modules/@ionic/core/dist/esm/tap-click-252af35a.js")).then(module => module.startTapClick(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"]));
|
||||
}
|
||||
if (_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('statusTap', isHybrid)) {
|
||||
__webpack_require__.e(/*! import() | status-tap-a9bf301d-js */ "status-tap-a9bf301d-js").then(__webpack_require__.bind(null, /*! ./status-tap-a9bf301d.js */ "./node_modules/@ionic/core/dist/esm/status-tap-a9bf301d.js")).then(module => module.startStatusTap());
|
||||
}
|
||||
if (_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('inputShims', needInputShims())) {
|
||||
__webpack_require__.e(/*! import() | input-shims-b956f530-js */ "input-shims-b956f530-js").then(__webpack_require__.bind(null, /*! ./input-shims-b956f530.js */ "./node_modules/@ionic/core/dist/esm/input-shims-b956f530.js")).then(module => module.startInputShims(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"]));
|
||||
}
|
||||
if (_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('hardwareBackButton', isHybrid)) {
|
||||
Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./hardware-back-button-7b6ede21.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-7b6ede21.js")).then(module => module.startHardwareBackButton());
|
||||
}
|
||||
if (typeof window !== 'undefined') {
|
||||
__webpack_require__.e(/*! import() | keyboard-dd970efc-js */ "keyboard-dd970efc-js").then(__webpack_require__.bind(null, /*! ./keyboard-dd970efc.js */ "./node_modules/@ionic/core/dist/esm/keyboard-dd970efc.js")).then(module => module.startKeyboardAssist(window));
|
||||
}
|
||||
__webpack_require__.e(/*! import() | focus-visible-15ada7f7-js */ "focus-visible-15ada7f7-js").then(__webpack_require__.bind(null, /*! ./focus-visible-15ada7f7.js */ "./node_modules/@ionic/core/dist/esm/focus-visible-15ada7f7.js")).then(module => module.startFocusVisible());
|
||||
});
|
||||
}
|
||||
}
|
||||
render() {
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: {
|
||||
[mode]: true,
|
||||
'ion-page': true,
|
||||
'force-statusbar-padding': _ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_forceStatusbarPadding'),
|
||||
} }));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
};
|
||||
const needInputShims = () => {
|
||||
return Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'ios') && Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'mobile');
|
||||
};
|
||||
const rIC = (callback) => {
|
||||
if ('requestIdleCallback' in window) {
|
||||
window.requestIdleCallback(callback);
|
||||
}
|
||||
else {
|
||||
setTimeout(callback, 32);
|
||||
}
|
||||
};
|
||||
App.style = appCss;
|
||||
|
||||
const buttonsIosCss = ".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}";
|
||||
|
||||
const buttonsMdCss = ".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}";
|
||||
|
||||
const Buttons = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
/**
|
||||
* If true, buttons will disappear when its
|
||||
* parent toolbar has fully collapsed if the toolbar
|
||||
* is not the first toolbar. If the toolbar is the
|
||||
* first toolbar, the buttons will be hidden and will
|
||||
* only be shown once all toolbars have fully collapsed.
|
||||
*
|
||||
* Only applies in `ios` mode with `collapse` set to
|
||||
* `true` on `ion-header`.
|
||||
*
|
||||
* Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
|
||||
*/
|
||||
this.collapse = false;
|
||||
}
|
||||
render() {
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: {
|
||||
[mode]: true,
|
||||
['buttons-collapse']: this.collapse
|
||||
} }));
|
||||
}
|
||||
};
|
||||
Buttons.style = {
|
||||
ios: buttonsIosCss,
|
||||
md: buttonsMdCss
|
||||
};
|
||||
|
||||
const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}";
|
||||
|
||||
const Content = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
this.ionScrollStart = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollStart", 7);
|
||||
this.ionScroll = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScroll", 7);
|
||||
this.ionScrollEnd = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollEnd", 7);
|
||||
this.isScrolling = false;
|
||||
this.lastScroll = 0;
|
||||
this.queued = false;
|
||||
this.cTop = -1;
|
||||
this.cBottom = -1;
|
||||
// Detail is used in a hot loop in the scroll event, by allocating it here
|
||||
// V8 will be able to inline any read/write to it since it's a monomorphic class.
|
||||
// https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
|
||||
this.detail = {
|
||||
scrollTop: 0,
|
||||
scrollLeft: 0,
|
||||
type: 'scroll',
|
||||
event: undefined,
|
||||
startX: 0,
|
||||
startY: 0,
|
||||
startTime: 0,
|
||||
currentX: 0,
|
||||
currentY: 0,
|
||||
velocityX: 0,
|
||||
velocityY: 0,
|
||||
deltaX: 0,
|
||||
deltaY: 0,
|
||||
currentTime: 0,
|
||||
data: undefined,
|
||||
isScrolling: true,
|
||||
};
|
||||
/**
|
||||
* If `true`, the content will scroll behind the headers
|
||||
* and footers. This effect can easily be seen by setting the toolbar
|
||||
* to transparent.
|
||||
*/
|
||||
this.fullscreen = false;
|
||||
/**
|
||||
* If you want to enable the content scrolling in the X axis, set this property to `true`.
|
||||
*/
|
||||
this.scrollX = false;
|
||||
/**
|
||||
* If you want to disable the content scrolling in the Y axis, set this property to `false`.
|
||||
*/
|
||||
this.scrollY = true;
|
||||
/**
|
||||
* Because of performance reasons, ionScroll events are disabled by default, in order to enable them
|
||||
* and start listening from (ionScroll), set this property to `true`.
|
||||
*/
|
||||
this.scrollEvents = false;
|
||||
}
|
||||
disconnectedCallback() {
|
||||
this.onScrollEnd();
|
||||
}
|
||||
onAppLoad() {
|
||||
this.resize();
|
||||
}
|
||||
onClick(ev) {
|
||||
if (this.isScrolling) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
}
|
||||
}
|
||||
shouldForceOverscroll() {
|
||||
const { forceOverscroll } = this;
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
return forceOverscroll === undefined
|
||||
? mode === 'ios' && Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('ios')
|
||||
: forceOverscroll;
|
||||
}
|
||||
resize() {
|
||||
if (this.fullscreen) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => this.readDimensions());
|
||||
}
|
||||
else if (this.cTop !== 0 || this.cBottom !== 0) {
|
||||
this.cTop = this.cBottom = 0;
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this);
|
||||
}
|
||||
}
|
||||
readDimensions() {
|
||||
const page = getPageElement(this.el);
|
||||
const top = Math.max(this.el.offsetTop, 0);
|
||||
const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);
|
||||
const dirty = top !== this.cTop || bottom !== this.cBottom;
|
||||
if (dirty) {
|
||||
this.cTop = top;
|
||||
this.cBottom = bottom;
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this);
|
||||
}
|
||||
}
|
||||
onScroll(ev) {
|
||||
const timeStamp = Date.now();
|
||||
const shouldStart = !this.isScrolling;
|
||||
this.lastScroll = timeStamp;
|
||||
if (shouldStart) {
|
||||
this.onScrollStart();
|
||||
}
|
||||
if (!this.queued && this.scrollEvents) {
|
||||
this.queued = true;
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["f"])(ts => {
|
||||
this.queued = false;
|
||||
this.detail.event = ev;
|
||||
updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);
|
||||
this.ionScroll.emit(this.detail);
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Get the element where the actual scrolling takes place.
|
||||
* This element can be used to subscribe to `scroll` events or manually modify
|
||||
* `scrollTop`. However, it's recommended to use the API provided by `ion-content`:
|
||||
*
|
||||
* i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events
|
||||
* and `scrollToPoint()` to scroll the content into a certain point.
|
||||
*/
|
||||
getScrollElement() {
|
||||
return Promise.resolve(this.scrollEl);
|
||||
}
|
||||
/**
|
||||
* Scroll to the top of the component.
|
||||
*
|
||||
* @param duration The amount of time to take scrolling to the top. Defaults to `0`.
|
||||
*/
|
||||
scrollToTop(duration = 0) {
|
||||
return this.scrollToPoint(undefined, 0, duration);
|
||||
}
|
||||
/**
|
||||
* Scroll to the bottom of the component.
|
||||
*
|
||||
* @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
|
||||
*/
|
||||
scrollToBottom(duration = 0) {
|
||||
const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;
|
||||
return this.scrollToPoint(undefined, y, duration);
|
||||
}
|
||||
/**
|
||||
* Scroll by a specified X/Y distance in the component.
|
||||
*
|
||||
* @param x The amount to scroll by on the horizontal axis.
|
||||
* @param y The amount to scroll by on the vertical axis.
|
||||
* @param duration The amount of time to take scrolling by that amount.
|
||||
*/
|
||||
scrollByPoint(x, y, duration) {
|
||||
return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);
|
||||
}
|
||||
/**
|
||||
* Scroll to a specified X/Y location in the component.
|
||||
*
|
||||
* @param x The point to scroll to on the horizontal axis.
|
||||
* @param y The point to scroll to on the vertical axis.
|
||||
* @param duration The amount of time to take scrolling to that point. Defaults to `0`.
|
||||
*/
|
||||
async scrollToPoint(x, y, duration = 0) {
|
||||
const el = this.scrollEl;
|
||||
if (duration < 32) {
|
||||
if (y != null) {
|
||||
el.scrollTop = y;
|
||||
}
|
||||
if (x != null) {
|
||||
el.scrollLeft = x;
|
||||
}
|
||||
return;
|
||||
}
|
||||
let resolve;
|
||||
let startTime = 0;
|
||||
const promise = new Promise(r => resolve = r);
|
||||
const fromY = el.scrollTop;
|
||||
const fromX = el.scrollLeft;
|
||||
const deltaY = y != null ? y - fromY : 0;
|
||||
const deltaX = x != null ? x - fromX : 0;
|
||||
// scroll loop
|
||||
const step = (timeStamp) => {
|
||||
const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;
|
||||
const easedT = Math.pow(linearTime, 3) + 1;
|
||||
if (deltaY !== 0) {
|
||||
el.scrollTop = Math.floor((easedT * deltaY) + fromY);
|
||||
}
|
||||
if (deltaX !== 0) {
|
||||
el.scrollLeft = Math.floor((easedT * deltaX) + fromX);
|
||||
}
|
||||
if (easedT < 1) {
|
||||
// do not use DomController here
|
||||
// must use nativeRaf in order to fire in the next frame
|
||||
// TODO: remove as any
|
||||
requestAnimationFrame(step);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
};
|
||||
// chill out for a frame first
|
||||
requestAnimationFrame(ts => {
|
||||
startTime = ts;
|
||||
step(ts);
|
||||
});
|
||||
return promise;
|
||||
}
|
||||
onScrollStart() {
|
||||
this.isScrolling = true;
|
||||
this.ionScrollStart.emit({
|
||||
isScrolling: true
|
||||
});
|
||||
if (this.watchDog) {
|
||||
clearInterval(this.watchDog);
|
||||
}
|
||||
// watchdog
|
||||
this.watchDog = setInterval(() => {
|
||||
if (this.lastScroll < Date.now() - 120) {
|
||||
this.onScrollEnd();
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
onScrollEnd() {
|
||||
clearInterval(this.watchDog);
|
||||
this.watchDog = null;
|
||||
if (this.isScrolling) {
|
||||
this.isScrolling = false;
|
||||
this.ionScrollEnd.emit({
|
||||
isScrolling: false
|
||||
});
|
||||
}
|
||||
}
|
||||
render() {
|
||||
const { scrollX, scrollY } = this;
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
const forceOverscroll = this.shouldForceOverscroll();
|
||||
const transitionShadow = (mode === 'ios' && _ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('experimentalTransitionShadow', true));
|
||||
this.resize();
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object.assign(Object.assign({}, Object(_theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color)), { [mode]: true, 'content-sizing': Object(_theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-popover', this.el), 'overscroll': forceOverscroll }), style: {
|
||||
'--offset-top': `${this.cTop}px`,
|
||||
'--offset-bottom': `${this.cBottom}px`,
|
||||
} }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { id: "background-content", part: "background" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("main", { class: {
|
||||
'inner-scroll': true,
|
||||
'scroll-x': scrollX,
|
||||
'scroll-y': scrollY,
|
||||
'overscroll': (scrollX || scrollY) && forceOverscroll
|
||||
}, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: "scroll" }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), transitionShadow ? (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-effect" }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-cover" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-shadow" }))) : null, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "fixed" })));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
};
|
||||
const getParentElement = (el) => {
|
||||
if (el.parentElement) {
|
||||
// normal element with a parent element
|
||||
return el.parentElement;
|
||||
}
|
||||
if (el.parentNode && el.parentNode.host) {
|
||||
// shadow dom's document fragment
|
||||
return el.parentNode.host;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const getPageElement = (el) => {
|
||||
const tabs = el.closest('ion-tabs');
|
||||
if (tabs) {
|
||||
return tabs;
|
||||
}
|
||||
const page = el.closest('ion-app,ion-page,.ion-page,page-inner');
|
||||
if (page) {
|
||||
return page;
|
||||
}
|
||||
return getParentElement(el);
|
||||
};
|
||||
// ******** DOM READ ****************
|
||||
const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
|
||||
const prevX = detail.currentX;
|
||||
const prevY = detail.currentY;
|
||||
const prevT = detail.currentTime;
|
||||
const currentX = el.scrollLeft;
|
||||
const currentY = el.scrollTop;
|
||||
const timeDelta = timestamp - prevT;
|
||||
if (shouldStart) {
|
||||
// remember the start positions
|
||||
detail.startTime = timestamp;
|
||||
detail.startX = currentX;
|
||||
detail.startY = currentY;
|
||||
detail.velocityX = detail.velocityY = 0;
|
||||
}
|
||||
detail.currentTime = timestamp;
|
||||
detail.currentX = detail.scrollLeft = currentX;
|
||||
detail.currentY = detail.scrollTop = currentY;
|
||||
detail.deltaX = currentX - detail.startX;
|
||||
detail.deltaY = currentY - detail.startY;
|
||||
if (timeDelta > 0 && timeDelta < 100) {
|
||||
const velocityX = (currentX - prevX) / timeDelta;
|
||||
const velocityY = (currentY - prevY) / timeDelta;
|
||||
detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;
|
||||
detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;
|
||||
}
|
||||
};
|
||||
Content.style = contentCss;
|
||||
|
||||
const footerIosCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}";
|
||||
|
||||
const footerMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\");background-repeat:repeat-x;content:\"\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}";
|
||||
|
||||
const Footer = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
/**
|
||||
* If `true`, the footer will be translucent.
|
||||
* Only applies when the mode is `"ios"` and the device supports
|
||||
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
||||
*
|
||||
* Note: In order to scroll content behind the footer, the `fullscreen`
|
||||
* attribute needs to be set on the content.
|
||||
*/
|
||||
this.translucent = false;
|
||||
}
|
||||
render() {
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
const translucent = this.translucent;
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "contentinfo", class: {
|
||||
[mode]: true,
|
||||
// Used internally for styling
|
||||
[`footer-${mode}`]: true,
|
||||
[`footer-translucent`]: translucent,
|
||||
[`footer-translucent-${mode}`]: translucent,
|
||||
} }, mode === 'ios' && translucent &&
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "footer-background" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)));
|
||||
}
|
||||
};
|
||||
Footer.style = {
|
||||
ios: footerIosCss,
|
||||
md: footerMdCss
|
||||
};
|
||||
|
||||
const TRANSITION = 'all 0.2s ease-in-out';
|
||||
const cloneElement = (tagName) => {
|
||||
const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);
|
||||
if (getCachedEl !== null) {
|
||||
return getCachedEl;
|
||||
}
|
||||
const clonedEl = document.createElement(tagName);
|
||||
clonedEl.classList.add('ion-cloned-element');
|
||||
clonedEl.style.setProperty('display', 'none');
|
||||
document.body.appendChild(clonedEl);
|
||||
return clonedEl;
|
||||
};
|
||||
const createHeaderIndex = (headerEl) => {
|
||||
if (!headerEl) {
|
||||
return;
|
||||
}
|
||||
const toolbars = headerEl.querySelectorAll('ion-toolbar');
|
||||
return {
|
||||
el: headerEl,
|
||||
toolbars: Array.from(toolbars).map((toolbar) => {
|
||||
const ionTitleEl = toolbar.querySelector('ion-title');
|
||||
return {
|
||||
el: toolbar,
|
||||
background: toolbar.shadowRoot.querySelector('.toolbar-background'),
|
||||
ionTitleEl,
|
||||
innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,
|
||||
ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []
|
||||
};
|
||||
}) || []
|
||||
};
|
||||
};
|
||||
const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => {
|
||||
const scrollTop = scrollEl.scrollTop;
|
||||
const scale = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_2__["c"])(1, 1 + (-scrollTop / 500), 1.1);
|
||||
// Native refresher should not cause titles to scale
|
||||
const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');
|
||||
if (nativeRefresher === null) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => {
|
||||
scaleLargeTitles(scrollHeaderIndex.toolbars, scale);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const setToolbarBackgroundOpacity = (toolbar, opacity) => {
|
||||
if (opacity === undefined) {
|
||||
toolbar.background.style.removeProperty('--opacity');
|
||||
}
|
||||
else {
|
||||
toolbar.background.style.setProperty('--opacity', opacity.toString());
|
||||
}
|
||||
};
|
||||
const handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {
|
||||
if (!ev[0].isIntersecting) {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* There is a bug in Safari where overflow scrolling on a non-body element
|
||||
* does not always reset the scrollTop position to 0 when letting go. It will
|
||||
* set to 1 once the rubber band effect has ended. This causes the background to
|
||||
* appear slightly on certain app setups.
|
||||
*/
|
||||
const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
|
||||
mainHeaderIndex.toolbars.forEach(toolbar => {
|
||||
setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale);
|
||||
});
|
||||
};
|
||||
/**
|
||||
* If toolbars are intersecting, hide the scrollable toolbar content
|
||||
* and show the primary toolbar content. If the toolbars are not intersecting,
|
||||
* hide the primary toolbar content and show the scrollable toolbar content
|
||||
*/
|
||||
const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => {
|
||||
handleToolbarBorderIntersection(ev, mainHeaderIndex);
|
||||
const event = ev[0];
|
||||
const intersection = event.intersectionRect;
|
||||
const intersectionArea = intersection.width * intersection.height;
|
||||
const rootArea = event.rootBounds.width * event.rootBounds.height;
|
||||
const isPageHidden = intersectionArea === 0 && rootArea === 0;
|
||||
const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);
|
||||
const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);
|
||||
const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);
|
||||
if (isPageHidden || isPageTransitioning) {
|
||||
return;
|
||||
}
|
||||
if (event.isIntersecting) {
|
||||
setHeaderActive(mainHeaderIndex, false);
|
||||
setHeaderActive(scrollHeaderIndex);
|
||||
}
|
||||
else {
|
||||
/**
|
||||
* There is a bug with IntersectionObserver on Safari
|
||||
* where `event.isIntersecting === false` when cancelling
|
||||
* a swipe to go back gesture. Checking the intersection
|
||||
* x, y, width, and height provides a workaround. This bug
|
||||
* does not happen when using Safari + Web Animations,
|
||||
* only Safari + CSS Animations.
|
||||
*/
|
||||
const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);
|
||||
if (hasValidIntersection) {
|
||||
setHeaderActive(mainHeaderIndex);
|
||||
setHeaderActive(scrollHeaderIndex, false);
|
||||
setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
const setHeaderActive = (headerIndex, active = true) => {
|
||||
if (active) {
|
||||
headerIndex.el.classList.remove('header-collapse-condense-inactive');
|
||||
}
|
||||
else {
|
||||
headerIndex.el.classList.add('header-collapse-condense-inactive');
|
||||
}
|
||||
};
|
||||
const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
|
||||
toolbars.forEach(toolbar => {
|
||||
const ionTitle = toolbar.ionTitleEl;
|
||||
const titleDiv = toolbar.innerTitleEl;
|
||||
if (!ionTitle || ionTitle.size !== 'large') {
|
||||
return;
|
||||
}
|
||||
titleDiv.style.transition = (transition) ? TRANSITION : '';
|
||||
titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
|
||||
});
|
||||
};
|
||||
|
||||
const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}";
|
||||
|
||||
const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}";
|
||||
|
||||
const Header = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
this.collapsibleHeaderInitialized = false;
|
||||
/**
|
||||
* If `true`, the header will be translucent.
|
||||
* Only applies when the mode is `"ios"` and the device supports
|
||||
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
||||
*
|
||||
* Note: In order to scroll content behind the header, the `fullscreen`
|
||||
* attribute needs to be set on the content.
|
||||
*/
|
||||
this.translucent = false;
|
||||
}
|
||||
async componentDidLoad() {
|
||||
await this.checkCollapsibleHeader();
|
||||
}
|
||||
async componentDidUpdate() {
|
||||
await this.checkCollapsibleHeader();
|
||||
}
|
||||
componentDidUnload() {
|
||||
this.destroyCollapsibleHeader();
|
||||
}
|
||||
async checkCollapsibleHeader() {
|
||||
// Determine if the header can collapse
|
||||
const hasCollapse = this.collapse === 'condense';
|
||||
const canCollapse = (hasCollapse && Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios') ? hasCollapse : false;
|
||||
if (!canCollapse && this.collapsibleHeaderInitialized) {
|
||||
this.destroyCollapsibleHeader();
|
||||
}
|
||||
else if (canCollapse && !this.collapsibleHeaderInitialized) {
|
||||
const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
|
||||
const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;
|
||||
// Cloned elements are always needed in iOS transition
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => {
|
||||
const title = cloneElement('ion-title');
|
||||
title.size = 'large';
|
||||
cloneElement('ion-back-button');
|
||||
});
|
||||
await this.setupCollapsibleHeader(contentEl, pageEl);
|
||||
}
|
||||
}
|
||||
destroyCollapsibleHeader() {
|
||||
if (this.intersectionObserver) {
|
||||
this.intersectionObserver.disconnect();
|
||||
this.intersectionObserver = undefined;
|
||||
}
|
||||
if (this.scrollEl && this.contentScrollCallback) {
|
||||
this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
|
||||
this.contentScrollCallback = undefined;
|
||||
}
|
||||
if (this.collapsibleMainHeader) {
|
||||
this.collapsibleMainHeader.classList.remove('header-collapse-main');
|
||||
this.collapsibleMainHeader = undefined;
|
||||
}
|
||||
}
|
||||
async setupCollapsibleHeader(contentEl, pageEl) {
|
||||
if (!contentEl || !pageEl) {
|
||||
console.error('ion-header requires a content to collapse, make sure there is an ion-content.');
|
||||
return;
|
||||
}
|
||||
if (typeof IntersectionObserver === 'undefined') {
|
||||
return;
|
||||
}
|
||||
this.scrollEl = await contentEl.getScrollElement();
|
||||
const headers = pageEl.querySelectorAll('ion-header');
|
||||
this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
|
||||
if (!this.collapsibleMainHeader) {
|
||||
return;
|
||||
}
|
||||
const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);
|
||||
const scrollHeaderIndex = createHeaderIndex(this.el);
|
||||
if (!mainHeaderIndex || !scrollHeaderIndex) {
|
||||
return;
|
||||
}
|
||||
setHeaderActive(mainHeaderIndex, false);
|
||||
mainHeaderIndex.toolbars.forEach(toolbar => {
|
||||
setToolbarBackgroundOpacity(toolbar, 0);
|
||||
});
|
||||
/**
|
||||
* Handle interaction between toolbar collapse and
|
||||
* showing/hiding content in the primary ion-header
|
||||
* as well as progressively showing/hiding the main header
|
||||
* border as the top-most toolbar collapses or expands.
|
||||
*/
|
||||
const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };
|
||||
this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });
|
||||
this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
|
||||
/**
|
||||
* Handle scaling of large iOS titles and
|
||||
* showing/hiding border on last toolbar
|
||||
* in primary header
|
||||
*/
|
||||
this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); };
|
||||
this.scrollEl.addEventListener('scroll', this.contentScrollCallback);
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => {
|
||||
if (this.collapsibleMainHeader !== undefined) {
|
||||
this.collapsibleMainHeader.classList.add('header-collapse-main');
|
||||
}
|
||||
});
|
||||
this.collapsibleHeaderInitialized = true;
|
||||
}
|
||||
render() {
|
||||
const { translucent } = this;
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
const collapse = this.collapse || 'none';
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "banner", class: {
|
||||
[mode]: true,
|
||||
// Used internally for styling
|
||||
[`header-${mode}`]: true,
|
||||
[`header-translucent`]: this.translucent,
|
||||
[`header-collapse-${collapse}`]: true,
|
||||
[`header-translucent-${mode}`]: this.translucent,
|
||||
} }, mode === 'ios' && translucent &&
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "header-background" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
};
|
||||
Header.style = {
|
||||
ios: headerIosCss,
|
||||
md: headerMdCss
|
||||
};
|
||||
|
||||
const routeOutletCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
|
||||
|
||||
const RouterOutlet = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
this.ionNavWillLoad = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7);
|
||||
this.ionNavWillChange = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillChange", 3);
|
||||
this.ionNavDidChange = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavDidChange", 3);
|
||||
this.animationEnabled = true;
|
||||
/**
|
||||
* The mode determines which platform styles to use.
|
||||
*/
|
||||
this.mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
/**
|
||||
* If `true`, the router-outlet should animate the transition of components.
|
||||
*/
|
||||
this.animated = true;
|
||||
}
|
||||
swipeHandlerChanged() {
|
||||
if (this.gesture) {
|
||||
this.gesture.enable(this.swipeHandler !== undefined);
|
||||
}
|
||||
}
|
||||
async connectedCallback() {
|
||||
this.gesture = (await __webpack_require__.e(/*! import() | swipe-back-0a6a44c8-js */ "swipe-back-0a6a44c8-js").then(__webpack_require__.bind(null, /*! ./swipe-back-0a6a44c8.js */ "./node_modules/@ionic/core/dist/esm/swipe-back-0a6a44c8.js"))).createSwipeBackGesture(this.el, () => !!this.swipeHandler && this.swipeHandler.canStart() && this.animationEnabled, () => this.swipeHandler && this.swipeHandler.onStart(), step => this.ani && this.ani.progressStep(step), (shouldComplete, step, dur) => {
|
||||
if (this.ani) {
|
||||
this.animationEnabled = false;
|
||||
this.ani.onFinish(() => {
|
||||
this.animationEnabled = true;
|
||||
if (this.swipeHandler) {
|
||||
this.swipeHandler.onEnd(shouldComplete);
|
||||
}
|
||||
}, { oneTimeCallback: true });
|
||||
// Account for rounding errors in JS
|
||||
let newStepValue = (shouldComplete) ? -0.001 : 0.001;
|
||||
/**
|
||||
* Animation will be reversed here, so need to
|
||||
* reverse the easing curve as well
|
||||
*
|
||||
* Additionally, we need to account for the time relative
|
||||
* to the new easing curve, as `stepValue` is going to be given
|
||||
* in terms of a linear curve.
|
||||
*/
|
||||
if (!shouldComplete) {
|
||||
this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');
|
||||
newStepValue += Object(_cubic_bezier_685f606a_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];
|
||||
}
|
||||
else {
|
||||
newStepValue += Object(_cubic_bezier_685f606a_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];
|
||||
}
|
||||
this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);
|
||||
}
|
||||
});
|
||||
this.swipeHandlerChanged();
|
||||
}
|
||||
componentWillLoad() {
|
||||
this.ionNavWillLoad.emit();
|
||||
}
|
||||
disconnectedCallback() {
|
||||
if (this.gesture) {
|
||||
this.gesture.destroy();
|
||||
this.gesture = undefined;
|
||||
}
|
||||
}
|
||||
/** @internal */
|
||||
async commit(enteringEl, leavingEl, opts) {
|
||||
const unlock = await this.lock();
|
||||
let changed = false;
|
||||
try {
|
||||
changed = await this.transition(enteringEl, leavingEl, opts);
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
unlock();
|
||||
return changed;
|
||||
}
|
||||
/** @internal */
|
||||
async setRouteId(id, params, direction, animation) {
|
||||
const changed = await this.setRoot(id, params, {
|
||||
duration: direction === 'root' ? 0 : undefined,
|
||||
direction: direction === 'back' ? 'back' : 'forward',
|
||||
animationBuilder: animation
|
||||
});
|
||||
return {
|
||||
changed,
|
||||
element: this.activeEl
|
||||
};
|
||||
}
|
||||
/** @internal */
|
||||
async getRouteId() {
|
||||
const active = this.activeEl;
|
||||
return active ? {
|
||||
id: active.tagName,
|
||||
element: active,
|
||||
} : undefined;
|
||||
}
|
||||
async setRoot(component, params, opts) {
|
||||
if (this.activeComponent === component) {
|
||||
return false;
|
||||
}
|
||||
// attach entering view to DOM
|
||||
const leavingEl = this.activeEl;
|
||||
const enteringEl = await Object(_framework_delegate_d1eb6504_js__WEBPACK_IMPORTED_MODULE_6__["a"])(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params);
|
||||
this.activeComponent = component;
|
||||
this.activeEl = enteringEl;
|
||||
// commit animation
|
||||
await this.commit(enteringEl, leavingEl, opts);
|
||||
await Object(_framework_delegate_d1eb6504_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this.delegate, leavingEl);
|
||||
return true;
|
||||
}
|
||||
async transition(enteringEl, leavingEl, opts = {}) {
|
||||
if (leavingEl === enteringEl) {
|
||||
return false;
|
||||
}
|
||||
// emit nav will change event
|
||||
this.ionNavWillChange.emit();
|
||||
const { el, mode } = this;
|
||||
const animated = this.animated && _ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true);
|
||||
const animationBuilder = this.animation || opts.animationBuilder || _ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('navAnimation');
|
||||
await Object(_index_37b50f53_js__WEBPACK_IMPORTED_MODULE_3__["t"])(Object.assign(Object.assign({ mode,
|
||||
animated,
|
||||
enteringEl,
|
||||
leavingEl, baseEl: el, progressCallback: (opts.progressAnimation
|
||||
? ani => this.ani = ani
|
||||
: undefined) }, opts), { animationBuilder }));
|
||||
// emit nav changed event
|
||||
this.ionNavDidChange.emit();
|
||||
return true;
|
||||
}
|
||||
async lock() {
|
||||
const p = this.waitPromise;
|
||||
let resolve;
|
||||
this.waitPromise = new Promise(r => resolve = r);
|
||||
if (p !== undefined) {
|
||||
await p;
|
||||
}
|
||||
return resolve;
|
||||
}
|
||||
render() {
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
static get watchers() { return {
|
||||
"swipeHandler": ["swipeHandlerChanged"]
|
||||
}; }
|
||||
};
|
||||
RouterOutlet.style = routeOutletCss;
|
||||
|
||||
const titleIosCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host-context([dir=rtl]):host(.title-large),:host-context([dir=rtl]).title-large{-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}";
|
||||
|
||||
const titleMdCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}";
|
||||
|
||||
const ToolbarTitle = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
this.ionStyle = Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7);
|
||||
}
|
||||
sizeChanged() {
|
||||
this.emitStyle();
|
||||
}
|
||||
connectedCallback() {
|
||||
this.emitStyle();
|
||||
}
|
||||
emitStyle() {
|
||||
const size = this.getSize();
|
||||
this.ionStyle.emit({
|
||||
[`title-${size}`]: true
|
||||
});
|
||||
}
|
||||
getSize() {
|
||||
return (this.size !== undefined) ? this.size : 'default';
|
||||
}
|
||||
render() {
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
const size = this.getSize();
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object.assign({ [mode]: true, [`title-${size}`]: true }, Object(_theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color)) }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-title" }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
static get watchers() { return {
|
||||
"size": ["sizeChanged"]
|
||||
}; }
|
||||
};
|
||||
ToolbarTitle.style = {
|
||||
ios: titleIosCss,
|
||||
md: titleMdCss
|
||||
};
|
||||
|
||||
const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}";
|
||||
|
||||
const toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}";
|
||||
|
||||
const Toolbar = class {
|
||||
constructor(hostRef) {
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef);
|
||||
this.childrenStyles = new Map();
|
||||
}
|
||||
componentWillLoad() {
|
||||
const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
|
||||
const firstButtons = buttons.find(button => {
|
||||
return button.slot === 'start';
|
||||
});
|
||||
if (firstButtons) {
|
||||
firstButtons.classList.add('buttons-first-slot');
|
||||
}
|
||||
const buttonsReversed = buttons.reverse();
|
||||
const lastButtons = buttonsReversed.find(button => button.slot === 'end') ||
|
||||
buttonsReversed.find(button => button.slot === 'primary') ||
|
||||
buttonsReversed.find(button => button.slot === 'secondary');
|
||||
if (lastButtons) {
|
||||
lastButtons.classList.add('buttons-last-slot');
|
||||
}
|
||||
}
|
||||
childrenStyle(ev) {
|
||||
ev.stopPropagation();
|
||||
const tagName = ev.target.tagName;
|
||||
const updatedStyles = ev.detail;
|
||||
const newStyles = {};
|
||||
const childStyles = this.childrenStyles.get(tagName) || {};
|
||||
let hasStyleChange = false;
|
||||
Object.keys(updatedStyles).forEach(key => {
|
||||
const childKey = `toolbar-${key}`;
|
||||
const newValue = updatedStyles[key];
|
||||
if (newValue !== childStyles[childKey]) {
|
||||
hasStyleChange = true;
|
||||
}
|
||||
if (newValue) {
|
||||
newStyles[childKey] = true;
|
||||
}
|
||||
});
|
||||
if (hasStyleChange) {
|
||||
this.childrenStyles.set(tagName, newStyles);
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this);
|
||||
}
|
||||
}
|
||||
render() {
|
||||
const mode = Object(_ionic_global_837be8f3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this);
|
||||
const childStyles = {};
|
||||
this.childrenStyles.forEach(value => {
|
||||
Object.assign(childStyles, value);
|
||||
});
|
||||
return (Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object.assign(Object.assign({ 'in-toolbar': Object(_theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-toolbar', this.el), [mode]: true }, childStyles), Object(_theme_3f0b0c04_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color)) }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-background" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-container" }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "secondary" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-content" }, Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "primary" }), Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" }))));
|
||||
}
|
||||
get el() { return Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); }
|
||||
};
|
||||
Toolbar.style = {
|
||||
ios: toolbarIosCss,
|
||||
md: toolbarMdCss
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=2.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,543 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["common"],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/button-active-0d5784f9.js":
|
||||
/*!*********************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/button-active-0d5784f9.js ***!
|
||||
\*********************************************************************/
|
||||
/*! exports provided: c */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return createButtonActiveGesture; });
|
||||
/* harmony import */ var _index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-44bf8136.js */ "./node_modules/@ionic/core/dist/esm/index-44bf8136.js");
|
||||
/* harmony import */ var _index_eea61379_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index-eea61379.js */ "./node_modules/@ionic/core/dist/esm/index-eea61379.js");
|
||||
/* harmony import */ var _haptic_7b8ba70a_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./haptic-7b8ba70a.js */ "./node_modules/@ionic/core/dist/esm/haptic-7b8ba70a.js");
|
||||
|
||||
|
||||
|
||||
|
||||
const createButtonActiveGesture = (el, isButton) => {
|
||||
let currentTouchedButton;
|
||||
let initialTouchedButton;
|
||||
const activateButtonAtPoint = (x, y, hapticFeedbackFn) => {
|
||||
if (typeof document === 'undefined') {
|
||||
return;
|
||||
}
|
||||
const target = document.elementFromPoint(x, y);
|
||||
if (!target || !isButton(target)) {
|
||||
clearActiveButton();
|
||||
return;
|
||||
}
|
||||
if (target !== currentTouchedButton) {
|
||||
clearActiveButton();
|
||||
setActiveButton(target, hapticFeedbackFn);
|
||||
}
|
||||
};
|
||||
const setActiveButton = (button, hapticFeedbackFn) => {
|
||||
currentTouchedButton = button;
|
||||
if (!initialTouchedButton) {
|
||||
initialTouchedButton = currentTouchedButton;
|
||||
}
|
||||
const buttonToModify = currentTouchedButton;
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => buttonToModify.classList.add('ion-activated'));
|
||||
hapticFeedbackFn();
|
||||
};
|
||||
const clearActiveButton = (dispatchClick = false) => {
|
||||
if (!currentTouchedButton) {
|
||||
return;
|
||||
}
|
||||
const buttonToModify = currentTouchedButton;
|
||||
Object(_index_44bf8136_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => buttonToModify.classList.remove('ion-activated'));
|
||||
/**
|
||||
* Clicking on one button, but releasing on another button
|
||||
* does not dispatch a click event in browsers, so we
|
||||
* need to do it manually here. Some browsers will
|
||||
* dispatch a click if clicking on one button, dragging over
|
||||
* another button, and releasing on the original button. In that
|
||||
* case, we need to make sure we do not cause a double click there.
|
||||
*/
|
||||
if (dispatchClick && initialTouchedButton !== currentTouchedButton) {
|
||||
currentTouchedButton.click();
|
||||
}
|
||||
currentTouchedButton = undefined;
|
||||
};
|
||||
return Object(_index_eea61379_js__WEBPACK_IMPORTED_MODULE_1__["createGesture"])({
|
||||
el,
|
||||
gestureName: 'buttonActiveDrag',
|
||||
threshold: 0,
|
||||
onStart: ev => activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_7b8ba70a_js__WEBPACK_IMPORTED_MODULE_2__["a"]),
|
||||
onMove: ev => activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_7b8ba70a_js__WEBPACK_IMPORTED_MODULE_2__["b"]),
|
||||
onEnd: () => {
|
||||
clearActiveButton(true);
|
||||
Object(_haptic_7b8ba70a_js__WEBPACK_IMPORTED_MODULE_2__["h"])();
|
||||
initialTouchedButton = undefined;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/framework-delegate-d1eb6504.js":
|
||||
/*!**************************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/framework-delegate-d1eb6504.js ***!
|
||||
\**************************************************************************/
|
||||
/*! exports provided: a, d */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return attachComponent; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return detachComponent; });
|
||||
const attachComponent = async (delegate, container, component, cssClasses, componentProps) => {
|
||||
if (delegate) {
|
||||
return delegate.attachViewToDom(container, component, componentProps, cssClasses);
|
||||
}
|
||||
if (typeof component !== 'string' && !(component instanceof HTMLElement)) {
|
||||
throw new Error('framework delegate is missing');
|
||||
}
|
||||
const el = (typeof component === 'string')
|
||||
? container.ownerDocument && container.ownerDocument.createElement(component)
|
||||
: component;
|
||||
if (cssClasses) {
|
||||
cssClasses.forEach(c => el.classList.add(c));
|
||||
}
|
||||
if (componentProps) {
|
||||
Object.assign(el, componentProps);
|
||||
}
|
||||
container.appendChild(el);
|
||||
if (el.componentOnReady) {
|
||||
await el.componentOnReady();
|
||||
}
|
||||
return el;
|
||||
};
|
||||
const detachComponent = (delegate, element) => {
|
||||
if (element) {
|
||||
if (delegate) {
|
||||
const container = element.parentElement;
|
||||
return delegate.removeViewFromDom(container, element);
|
||||
}
|
||||
element.remove();
|
||||
}
|
||||
return Promise.resolve();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/haptic-7b8ba70a.js":
|
||||
/*!**************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/haptic-7b8ba70a.js ***!
|
||||
\**************************************************************/
|
||||
/*! exports provided: a, b, c, d, h */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hapticSelectionStart; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hapticSelectionChanged; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return hapticSelection; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hapticImpact; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return hapticSelectionEnd; });
|
||||
const HapticEngine = {
|
||||
getEngine() {
|
||||
const win = window;
|
||||
return (win.TapticEngine) || (win.Capacitor && win.Capacitor.isPluginAvailable('Haptics') && win.Capacitor.Plugins.Haptics);
|
||||
},
|
||||
available() {
|
||||
return !!this.getEngine();
|
||||
},
|
||||
isCordova() {
|
||||
return !!window.TapticEngine;
|
||||
},
|
||||
isCapacitor() {
|
||||
const win = window;
|
||||
return !!win.Capacitor;
|
||||
},
|
||||
impact(options) {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
return;
|
||||
}
|
||||
const style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
|
||||
engine.impact({ style });
|
||||
},
|
||||
notification(options) {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
return;
|
||||
}
|
||||
const style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
|
||||
engine.notification({ style });
|
||||
},
|
||||
selection() {
|
||||
this.impact({ style: 'light' });
|
||||
},
|
||||
selectionStart() {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
return;
|
||||
}
|
||||
if (this.isCapacitor()) {
|
||||
engine.selectionStart();
|
||||
}
|
||||
else {
|
||||
engine.gestureSelectionStart();
|
||||
}
|
||||
},
|
||||
selectionChanged() {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
return;
|
||||
}
|
||||
if (this.isCapacitor()) {
|
||||
engine.selectionChanged();
|
||||
}
|
||||
else {
|
||||
engine.gestureSelectionChanged();
|
||||
}
|
||||
},
|
||||
selectionEnd() {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
return;
|
||||
}
|
||||
if (this.isCapacitor()) {
|
||||
engine.selectionEnd();
|
||||
}
|
||||
else {
|
||||
engine.gestureSelectionEnd();
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Trigger a selection changed haptic event. Good for one-time events
|
||||
* (not for gestures)
|
||||
*/
|
||||
const hapticSelection = () => {
|
||||
HapticEngine.selection();
|
||||
};
|
||||
/**
|
||||
* Tell the haptic engine that a gesture for a selection change is starting.
|
||||
*/
|
||||
const hapticSelectionStart = () => {
|
||||
HapticEngine.selectionStart();
|
||||
};
|
||||
/**
|
||||
* Tell the haptic engine that a selection changed during a gesture.
|
||||
*/
|
||||
const hapticSelectionChanged = () => {
|
||||
HapticEngine.selectionChanged();
|
||||
};
|
||||
/**
|
||||
* Tell the haptic engine we are done with a gesture. This needs to be
|
||||
* called lest resources are not properly recycled.
|
||||
*/
|
||||
const hapticSelectionEnd = () => {
|
||||
HapticEngine.selectionEnd();
|
||||
};
|
||||
/**
|
||||
* Use this to indicate success/failure/warning to the user.
|
||||
* options should be of the type `{ style: 'light' }` (or `medium`/`heavy`)
|
||||
*/
|
||||
const hapticImpact = (options) => {
|
||||
HapticEngine.impact(options);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/spinner-configs-c78e170e.js":
|
||||
/*!***********************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/spinner-configs-c78e170e.js ***!
|
||||
\***********************************************************************/
|
||||
/*! exports provided: S */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "S", function() { return SPINNERS; });
|
||||
const spinners = {
|
||||
'bubbles': {
|
||||
dur: 1000,
|
||||
circles: 9,
|
||||
fn: (dur, index, total) => {
|
||||
const animationDelay = `${(dur * index / total) - dur}ms`;
|
||||
const angle = 2 * Math.PI * index / total;
|
||||
return {
|
||||
r: 5,
|
||||
style: {
|
||||
'top': `${9 * Math.sin(angle)}px`,
|
||||
'left': `${9 * Math.cos(angle)}px`,
|
||||
'animation-delay': animationDelay,
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
'circles': {
|
||||
dur: 1000,
|
||||
circles: 8,
|
||||
fn: (dur, index, total) => {
|
||||
const step = index / total;
|
||||
const animationDelay = `${(dur * step) - dur}ms`;
|
||||
const angle = 2 * Math.PI * step;
|
||||
return {
|
||||
r: 5,
|
||||
style: {
|
||||
'top': `${9 * Math.sin(angle)}px`,
|
||||
'left': `${9 * Math.cos(angle)}px`,
|
||||
'animation-delay': animationDelay,
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
'circular': {
|
||||
dur: 1400,
|
||||
elmDuration: true,
|
||||
circles: 1,
|
||||
fn: () => {
|
||||
return {
|
||||
r: 20,
|
||||
cx: 48,
|
||||
cy: 48,
|
||||
fill: 'none',
|
||||
viewBox: '24 24 48 48',
|
||||
transform: 'translate(0,0)',
|
||||
style: {}
|
||||
};
|
||||
}
|
||||
},
|
||||
'crescent': {
|
||||
dur: 750,
|
||||
circles: 1,
|
||||
fn: () => {
|
||||
return {
|
||||
r: 26,
|
||||
style: {}
|
||||
};
|
||||
}
|
||||
},
|
||||
'dots': {
|
||||
dur: 750,
|
||||
circles: 3,
|
||||
fn: (_, index) => {
|
||||
const animationDelay = -(110 * index) + 'ms';
|
||||
return {
|
||||
r: 6,
|
||||
style: {
|
||||
'left': `${9 - (9 * index)}px`,
|
||||
'animation-delay': animationDelay,
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
'lines': {
|
||||
dur: 1000,
|
||||
lines: 12,
|
||||
fn: (dur, index, total) => {
|
||||
const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
|
||||
const animationDelay = `${(dur * index / total) - dur}ms`;
|
||||
return {
|
||||
y1: 17,
|
||||
y2: 29,
|
||||
style: {
|
||||
'transform': transform,
|
||||
'animation-delay': animationDelay,
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
'lines-small': {
|
||||
dur: 1000,
|
||||
lines: 12,
|
||||
fn: (dur, index, total) => {
|
||||
const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
|
||||
const animationDelay = `${(dur * index / total) - dur}ms`;
|
||||
return {
|
||||
y1: 12,
|
||||
y2: 20,
|
||||
style: {
|
||||
'transform': transform,
|
||||
'animation-delay': animationDelay,
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
const SPINNERS = spinners;
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/theme-3f0b0c04.js":
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/theme-3f0b0c04.js ***!
|
||||
\*************************************************************/
|
||||
/*! exports provided: c, g, h, o */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return createColorClasses; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getClassMap; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return hostContext; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return openURL; });
|
||||
const hostContext = (selector, el) => {
|
||||
return el.closest(selector) !== null;
|
||||
};
|
||||
/**
|
||||
* Create the mode and color classes for the component based on the classes passed in
|
||||
*/
|
||||
const createColorClasses = (color) => {
|
||||
return (typeof color === 'string' && color.length > 0) ? {
|
||||
'ion-color': true,
|
||||
[`ion-color-${color}`]: true
|
||||
} : undefined;
|
||||
};
|
||||
const getClassList = (classes) => {
|
||||
if (classes !== undefined) {
|
||||
const array = Array.isArray(classes) ? classes : classes.split(' ');
|
||||
return array
|
||||
.filter(c => c != null)
|
||||
.map(c => c.trim())
|
||||
.filter(c => c !== '');
|
||||
}
|
||||
return [];
|
||||
};
|
||||
const getClassMap = (classes) => {
|
||||
const map = {};
|
||||
getClassList(classes).forEach(c => map[c] = true);
|
||||
return map;
|
||||
};
|
||||
const SCHEME = /^[a-z][a-z0-9+\-.]*:/;
|
||||
const openURL = async (url, ev, direction, animation) => {
|
||||
if (url != null && url[0] !== '#' && !SCHEME.test(url)) {
|
||||
const router = document.querySelector('ion-router');
|
||||
if (router) {
|
||||
if (ev != null) {
|
||||
ev.preventDefault();
|
||||
}
|
||||
return router.push(url, direction, animation);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.html":
|
||||
/*!**********************************************************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.html ***!
|
||||
\**********************************************************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header>\n <ion-toolbar>\n <ion-title>approve-event-modal</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n</ion-content>\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.scss":
|
||||
/*!********************************************************************************!*\
|
||||
!*** ./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.scss ***!
|
||||
\********************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2FnZW5kYS9hcHByb3ZlLWV2ZW50LW1vZGFsL2FwcHJvdmUtZXZlbnQtbW9kYWwucGFnZS5zY3NzIn0= */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.ts":
|
||||
/*!******************************************************************************!*\
|
||||
!*** ./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.ts ***!
|
||||
\******************************************************************************/
|
||||
/*! exports provided: ApproveEventModalPage */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ApproveEventModalPage", function() { return ApproveEventModalPage; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
|
||||
|
||||
let ApproveEventModalPage = class ApproveEventModalPage {
|
||||
constructor() { }
|
||||
ngOnInit() {
|
||||
}
|
||||
};
|
||||
ApproveEventModalPage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-approve-event-modal',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./approve-event-modal.page.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./approve-event-modal.page.scss */ "./src/app/pages/agenda/approve-event-modal/approve-event-modal.page.scss")).default]
|
||||
})
|
||||
], ApproveEventModalPage);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/services/alert.service.ts":
|
||||
/*!*******************************************!*\
|
||||
!*** ./src/app/services/alert.service.ts ***!
|
||||
\*******************************************/
|
||||
/*! exports provided: AlertService */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AlertService", function() { return AlertService; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
|
||||
|
||||
|
||||
let AlertService = class AlertService {
|
||||
constructor(alertController) {
|
||||
this.alertController = alertController;
|
||||
}
|
||||
presentAlert(message) {
|
||||
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
|
||||
const alert = yield this.alertController.create({
|
||||
cssClass: 'my-custom-class',
|
||||
header: 'Mensagem do sistema',
|
||||
message: message,
|
||||
buttons: ['OK']
|
||||
});
|
||||
yield alert.present();
|
||||
});
|
||||
}
|
||||
};
|
||||
AlertService.ctorParameters = () => [
|
||||
{ type: _ionic_angular__WEBPACK_IMPORTED_MODULE_2__["AlertController"] }
|
||||
];
|
||||
AlertService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
|
||||
providedIn: 'root'
|
||||
})
|
||||
], AlertService);
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=common.js.map
|
||||
@@ -1,756 +0,0 @@
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEz0dL_nz.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEzQdL_nz.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEzwdL_nz.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEzMdL_nz.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEz8dL_nz.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEz4dL_nz.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOiCnqEu92Fr1Mu51QrEzAdLw.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1Mu51xIIzI.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc3CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc-CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc2CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc5CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc1CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc0CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc3CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc-CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc2CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc5CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc1CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc0CsTKlA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(https://fonts.gstatic.com/s/roboto/v20/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxIIzI.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
-3215
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,61 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["focus-visible-15ada7f7-js"],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/focus-visible-15ada7f7.js":
|
||||
/*!*********************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/focus-visible-15ada7f7.js ***!
|
||||
\*********************************************************************/
|
||||
/*! exports provided: startFocusVisible */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startFocusVisible", function() { return startFocusVisible; });
|
||||
const ION_FOCUSED = 'ion-focused';
|
||||
const ION_FOCUSABLE = 'ion-focusable';
|
||||
const FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp'];
|
||||
const startFocusVisible = () => {
|
||||
let currentFocus = [];
|
||||
let keyboardMode = true;
|
||||
const doc = document;
|
||||
const setFocus = (elements) => {
|
||||
currentFocus.forEach(el => el.classList.remove(ION_FOCUSED));
|
||||
elements.forEach(el => el.classList.add(ION_FOCUSED));
|
||||
currentFocus = elements;
|
||||
};
|
||||
const pointerDown = () => {
|
||||
keyboardMode = false;
|
||||
setFocus([]);
|
||||
};
|
||||
doc.addEventListener('keydown', ev => {
|
||||
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
||||
if (!keyboardMode) {
|
||||
setFocus([]);
|
||||
}
|
||||
});
|
||||
doc.addEventListener('focusin', ev => {
|
||||
if (keyboardMode && ev.composedPath) {
|
||||
const toFocus = ev.composedPath().filter((el) => {
|
||||
if (el.classList) {
|
||||
return el.classList.contains(ION_FOCUSABLE);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
setFocus(toFocus);
|
||||
}
|
||||
});
|
||||
doc.addEventListener('focusout', () => {
|
||||
if (doc.activeElement === doc.body) {
|
||||
setFocus([]);
|
||||
}
|
||||
});
|
||||
doc.addEventListener('touchstart', pointerDown);
|
||||
doc.addEventListener('mousedown', pointerDown);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=focus-visible-15ada7f7-js.js.map
|
||||
@@ -1,527 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["home-home-module"],{
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/home/home.page.html":
|
||||
/*!***************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/home/home.page.html ***!
|
||||
\***************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-tabs>\r\n <ion-tab-bar slot=\"bottom\">\r\n <ion-tab-button tab=\"events\">\r\n <ion-icon name=\"home\"></ion-icon>\r\n <ion-badge color=\"danger\">{{totalEvent}}</ion-badge>\r\n <ion-label>Home</ion-label>\r\n </ion-tab-button>\r\n \r\n <ion-tab-button tab=\"agenda\">\r\n <ion-icon name=\"calendar\"></ion-icon>\r\n <ion-label>Agenda</ion-label>\r\n </ion-tab-button>\r\n <ion-tab-button tab=\"gabinete-digital\">\r\n <ion-icon name=\"file-tray-stacked\"></ion-icon>\r\n <ion-badge color=\"danger\">{{totalExpediente}}</ion-badge>\r\n <ion-label>Gabinete Digital</ion-label>\r\n </ion-tab-button>\r\n <!-- <ion-tab-button tab=\"search\">\r\n <ion-icon name=\"search\"></ion-icon>\r\n <ion-label>Pesquisa</ion-label>\r\n </ion-tab-button> -->\r\n <ion-tab-button tab=\"chat\">\r\n <ion-icon name=\"chatbubbles\"></ion-icon>\r\n <ion-label>Chat</ion-label>\r\n </ion-tab-button>\r\n </ion-tab-bar>\r\n \r\n </ion-tabs>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/home/home-routing.module.ts":
|
||||
/*!*********************************************!*\
|
||||
!*** ./src/app/home/home-routing.module.ts ***!
|
||||
\*********************************************/
|
||||
/*! exports provided: HomePageRoutingModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HomePageRoutingModule", function() { return HomePageRoutingModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var _resolvers_userData_resolver__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../resolvers/userData.resolver */ "./src/app/resolvers/userData.resolver.ts");
|
||||
/* harmony import */ var _home_page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./home.page */ "./src/app/home/home.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: 'home',
|
||||
component: _home_page__WEBPACK_IMPORTED_MODULE_4__["HomePage"],
|
||||
/* canActivate: [HomeGuard], */
|
||||
resolve: {
|
||||
userData: _resolvers_userData_resolver__WEBPACK_IMPORTED_MODULE_3__["UserDataResolver"]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'events',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-events-module */[__webpack_require__.e("common"), __webpack_require__.e("pages-events-events-module")]).then(__webpack_require__.bind(null, /*! ../pages/events/events.module */ "./src/app/pages/events/events.module.ts")).then(m => m.EventsPageModule)
|
||||
},
|
||||
{
|
||||
path: ':eventId/:caller',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-event-detail-event-detail-module */[__webpack_require__.e("default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5"), __webpack_require__.e("default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b"), __webpack_require__.e("default~event-detail-event-detail-module~pages-events-event-detail-event-detail-module"), __webpack_require__.e("common")]).then(__webpack_require__.bind(null, /*! ../pages/events/event-detail/event-detail.module */ "./src/app/pages/events/event-detail/event-detail.module.ts")).then(m => m.EventDetailPageModule),
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'attachments',
|
||||
children: [
|
||||
{
|
||||
path: ':eventId',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-attachments-attachments-module */[__webpack_require__.e("default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b"), __webpack_require__.e("attachments-attachments-module")]).then(__webpack_require__.bind(null, /*! ../pages/events/attachments/attachments.module */ "./src/app/pages/events/attachments/attachments.module.ts")).then(m => m.AttachmentsPageModule)
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'attendees',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-attendees-attendees-module */[__webpack_require__.e("default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5"), __webpack_require__.e("attendees-attendees-module")]).then(__webpack_require__.bind(null, /*! ../pages/events/attendees/attendees.module */ "./src/app/pages/events/attendees/attendees.module.ts")).then(m => m.AttendeesPageModule)
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'login',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-login-login-module */[__webpack_require__.e("default~home-home-module~pages-chat-chat-module~pages-login-login-module"), __webpack_require__.e("pages-login-login-module")]).then(__webpack_require__.bind(null, /*! ../pages/login/login.module */ "./src/app/pages/login/login.module.ts")).then(m => m.LoginPageModule)
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'agenda',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-agenda-agenda-module */[__webpack_require__.e("default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5"), __webpack_require__.e("default~expediente-expediente-module~pages-agenda-agenda-module"), __webpack_require__.e("common"), __webpack_require__.e("pages-agenda-agenda-module")]).then(__webpack_require__.bind(null, /*! ../pages/agenda/agenda.module */ "./src/app/pages/agenda/agenda.module.ts")).then(m => m.AgendaPageModule)
|
||||
},
|
||||
{
|
||||
path: ':eventId/:caller',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-event-detail-event-detail-module */[__webpack_require__.e("default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5"), __webpack_require__.e("default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b"), __webpack_require__.e("default~event-detail-event-detail-module~pages-events-event-detail-event-detail-module"), __webpack_require__.e("common")]).then(__webpack_require__.bind(null, /*! ../pages/events/event-detail/event-detail.module */ "./src/app/pages/events/event-detail/event-detail.module.ts")).then(m => m.EventDetailPageModule),
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'gabinete-digital',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-gabinete-digital-gabinete-digital-module */[__webpack_require__.e("common"), __webpack_require__.e("pages-gabinete-digital-gabinete-digital-module")]).then(__webpack_require__.bind(null, /*! ../pages/gabinete-digital/gabinete-digital.module */ "./src/app/pages/gabinete-digital/gabinete-digital.module.ts")).then(m => m.GabineteDigitalPageModule)
|
||||
},
|
||||
{
|
||||
path: 'expediente',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-gabinete-digital-expediente-expediente-module */[__webpack_require__.e("default~expediente-expediente-module~pages-agenda-agenda-module"), __webpack_require__.e("expediente-expediente-module")]).then(__webpack_require__.bind(null, /*! ../pages/gabinete-digital/expediente/expediente.module */ "./src/app/pages/gabinete-digital/expediente/expediente.module.ts")).then(m => m.ExpedientePageModule)
|
||||
},
|
||||
{
|
||||
path: ':SerialNumber',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-gabinete-digital-expediente-expediente-detail-expediente-detail-module */[__webpack_require__.e("common"), __webpack_require__.e("expediente-detail-expediente-detail-module")]).then(__webpack_require__.bind(null, /*! ../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module */ "./src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module.ts")).then(m => m.ExpedienteDetailPageModule)
|
||||
},
|
||||
{
|
||||
path: 'events/:eventId/:caller',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-events-event-detail-event-detail-module */[__webpack_require__.e("default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5"), __webpack_require__.e("default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b"), __webpack_require__.e("default~event-detail-event-detail-module~pages-events-event-detail-event-detail-module"), __webpack_require__.e("common")]).then(__webpack_require__.bind(null, /*! ../pages/events/event-detail/event-detail.module */ "./src/app/pages/events/event-detail/event-detail.module.ts")).then(m => m.EventDetailPageModule),
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'event-list',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-gabinete-digital-event-list-event-list-module */[__webpack_require__.e("common"), __webpack_require__.e("event-list-event-list-module")]).then(__webpack_require__.bind(null, /*! ../pages/gabinete-digital/event-list/event-list.module */ "./src/app/pages/gabinete-digital/event-list/event-list.module.ts")).then(m => m.EventListPageModule)
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'search',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => __webpack_require__.e(/*! import() | pages-search-search-module */ "pages-search-search-module").then(__webpack_require__.bind(null, /*! ../pages/search/search.module */ "./src/app/pages/search/search.module.ts")).then(m => m.SearchPageModule)
|
||||
}
|
||||
]
|
||||
},
|
||||
/* {
|
||||
path: 'expediente',
|
||||
children: [
|
||||
{
|
||||
path:'',
|
||||
loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule)
|
||||
}
|
||||
]
|
||||
}, */
|
||||
{
|
||||
path: 'chat',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-chat-chat-module */[__webpack_require__.e("default~home-home-module~pages-chat-chat-module~pages-login-login-module"), __webpack_require__.e("pages-chat-chat-module")]).then(__webpack_require__.bind(null, /*! ../pages/chat/chat.module */ "./src/app/pages/chat/chat.module.ts")).then(m => m.ChatPageModule)
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
redirectTo: 'home/events',
|
||||
pathMatch: 'full'
|
||||
}
|
||||
];
|
||||
let HomePageRoutingModule = class HomePageRoutingModule {
|
||||
};
|
||||
HomePageRoutingModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
|
||||
exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]],
|
||||
})
|
||||
], HomePageRoutingModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/home/home.module.ts":
|
||||
/*!*************************************!*\
|
||||
!*** ./src/app/home/home.module.ts ***!
|
||||
\*************************************/
|
||||
/*! exports provided: HomePageModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HomePageModule", function() { return HomePageModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js");
|
||||
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _home_routing_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./home-routing.module */ "./src/app/home/home-routing.module.ts");
|
||||
/* harmony import */ var _home_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./home.page */ "./src/app/home/home.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* import { IonicSelectableModule } from 'ionic-selectable'; */
|
||||
let HomePageModule = class HomePageModule {
|
||||
};
|
||||
HomePageModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [
|
||||
_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
|
||||
_angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormsModule"],
|
||||
_ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicModule"],
|
||||
_home_routing_module__WEBPACK_IMPORTED_MODULE_5__["HomePageRoutingModule"],
|
||||
],
|
||||
declarations: [_home_page__WEBPACK_IMPORTED_MODULE_6__["HomePage"]]
|
||||
})
|
||||
], HomePageModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/home/home.page.scss":
|
||||
/*!*************************************!*\
|
||||
!*** ./src/app/home/home.page.scss ***!
|
||||
\*************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("ion-tab-bar {\n --background: #e3dfdf;\n --color: #000;\n}\n\nion-badge {\n /* */\n /* display: inline-block;*/\n min-width: 18px;\n font-size: 15px;\n /* font-weight: $badge-font-weight;\n line-height: 1;\n\n white-space: nowrap;\n vertical-align: baseline; */\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9DOlxcVXNlcnNcXHRpYWdvLmtheWF5YVxcZGV2ZWxvcG1lbnRcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXGhvbWVcXGhvbWUucGFnZS5zY3NzIiwic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0kscUJBQUE7RUFDQSxhQUFBO0FDQUo7O0FEYUE7RUFBVyxLQUFBO0VBRVQsMEJBQUE7RUFFQSxlQUFBO0VBQ0EsZUFYZTtFQVlmOzs7OzZCQUFBO0FDUEYiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmlvbi10YWItYmFye1xyXG4gICAgLS1iYWNrZ3JvdW5kOiAjZTNkZmRmO1xyXG4gICAgLS1jb2xvcjogIzAwMDtcclxufVxyXG5cclxuLy8gQmFkZ2VcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vLyBAcHJvcCAtIEZvbnQgc2l6ZSBvZiB0aGUgYmFkZ2VcclxuJGJhZGdlLWZvbnQtc2l6ZToxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEBwcm9wIC0gRm9udCB3ZWlnaHQgb2YgdGhlIGJhZGdlXHJcbiRiYWRnZS1mb250LXdlaWdodDpib2xkICFkZWZhdWx0O1xyXG5cclxuXHJcbmlvbi1iYWRnZSB7LyogICovXHJcblxyXG4gIC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG5cclxuICBtaW4td2lkdGg6IDE4cHg7IFxyXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcclxuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cclxufSIsImlvbi10YWItYmFyIHtcbiAgLS1iYWNrZ3JvdW5kOiAjZTNkZmRmO1xuICAtLWNvbG9yOiAjMDAwO1xufVxuXG5pb24tYmFkZ2Uge1xuICAvKiAgKi9cbiAgLyogZGlzcGxheTogaW5saW5lLWJsb2NrOyovXG4gIG1pbi13aWR0aDogMThweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcblxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7ICovXG59Il19 */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/home/home.page.ts":
|
||||
/*!***********************************!*\
|
||||
!*** ./src/app/home/home.page.ts ***!
|
||||
\***********************************/
|
||||
/*! exports provided: HomePage */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HomePage", function() { return HomePage; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _services_events_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/events.service */ "./src/app/services/events.service.ts");
|
||||
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js");
|
||||
/* harmony import */ var _services_processes_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/processes.service */ "./src/app/services/processes.service.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let HomePage = class HomePage {
|
||||
constructor(eventService, processesbackend) {
|
||||
this.eventService = eventService;
|
||||
this.processesbackend = processesbackend;
|
||||
this.totalEvent = 0;
|
||||
this.totalExpediente = 0;
|
||||
}
|
||||
ngOnInit() {
|
||||
this.eventService.getAllEvents(Object(_angular_common__WEBPACK_IMPORTED_MODULE_3__["formatDate"])(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', Object(_angular_common__WEBPACK_IMPORTED_MODULE_3__["formatDate"])(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59')
|
||||
.subscribe(response => {
|
||||
this.eventsList = response;
|
||||
this.totalEvent = this.eventsList.length;
|
||||
});
|
||||
this.processesbackend.GetTasksList("Expediente", true).subscribe(result => {
|
||||
this.totalExpediente = result;
|
||||
});
|
||||
}
|
||||
};
|
||||
HomePage.ctorParameters = () => [
|
||||
{ type: _services_events_service__WEBPACK_IMPORTED_MODULE_2__["EventsService"] },
|
||||
{ type: _services_processes_service__WEBPACK_IMPORTED_MODULE_4__["ProcessesService"] }
|
||||
];
|
||||
HomePage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-home',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./home.page.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/home/home.page.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./home.page.scss */ "./src/app/home/home.page.scss")).default]
|
||||
})
|
||||
], HomePage);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/resolvers/userData.resolver.ts":
|
||||
/*!************************************************!*\
|
||||
!*** ./src/app/resolvers/userData.resolver.ts ***!
|
||||
\************************************************/
|
||||
/*! exports provided: UserDataResolver */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UserDataResolver", function() { return UserDataResolver; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/auth.service */ "./src/app/services/auth.service.ts");
|
||||
|
||||
|
||||
|
||||
let UserDataResolver = class UserDataResolver {
|
||||
constructor(authService) {
|
||||
this.authService = authService;
|
||||
}
|
||||
resolve() {
|
||||
return this.authService.getUserData();
|
||||
}
|
||||
};
|
||||
UserDataResolver.ctorParameters = () => [
|
||||
{ type: _services_auth_service__WEBPACK_IMPORTED_MODULE_2__["AuthService"] }
|
||||
];
|
||||
UserDataResolver = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
|
||||
providedIn: 'root'
|
||||
})
|
||||
], UserDataResolver);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/services/events.service.ts":
|
||||
/*!********************************************!*\
|
||||
!*** ./src/app/services/events.service.ts ***!
|
||||
\********************************************/
|
||||
/*! exports provided: EventsService */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventsService", function() { return EventsService; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js");
|
||||
/* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/environments/environment */ "./src/environments/environment.ts");
|
||||
/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/auth.service */ "./src/app/services/auth.service.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let EventsService = class EventsService {
|
||||
//lastloadedevent: Event;
|
||||
constructor(http, user) {
|
||||
this.http = http;
|
||||
this.authheader = {};
|
||||
this.loggeduser = user.ValidatedUser;
|
||||
this.headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpHeaders"]();
|
||||
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
|
||||
}
|
||||
getAllEvents(startdate, enddate) {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'calendar/GetAllEvents';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("StartDate", startdate);
|
||||
params = params.set("EndDate", enddate);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
getEvents(calendarname, startdate, enddate) {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'calendar/GetEvents';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("CalendarName", calendarname);
|
||||
params = params.set("StartDate", startdate);
|
||||
params = params.set("EndDate", enddate);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
getEvent(eventid) {
|
||||
let geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'Calendar/GetEvent';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("EventId", eventid);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
putEvent(event, conflictResolutionMode, sendInvitationsOrCancellationsMode) {
|
||||
const puturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'calendar/PutEvent';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("conflictResolutionMode", conflictResolutionMode.toString());
|
||||
params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString());
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.put(`${puturl}`, event, options);
|
||||
}
|
||||
postEvent(event, calendarName) {
|
||||
const puturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'calendar/PostEvent';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("CalendarName", calendarName);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.post(`${puturl}`, event, options);
|
||||
}
|
||||
deleteEvent(eventid, deletemode) {
|
||||
const puturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiURL + 'calendar/PostEvent';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("EventId", eventid);
|
||||
params = params.set("deleteMode", deletemode.toString());
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.delete(`${puturl}`, options);
|
||||
}
|
||||
};
|
||||
EventsService.ctorParameters = () => [
|
||||
{ type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"] },
|
||||
{ type: _services_auth_service__WEBPACK_IMPORTED_MODULE_4__["AuthService"] }
|
||||
];
|
||||
EventsService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
|
||||
providedIn: 'root'
|
||||
})
|
||||
], EventsService);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/services/processes.service.ts":
|
||||
/*!***********************************************!*\
|
||||
!*** ./src/app/services/processes.service.ts ***!
|
||||
\***********************************************/
|
||||
/*! exports provided: ProcessesService */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ProcessesService", function() { return ProcessesService; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js");
|
||||
/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/auth.service */ "./src/app/services/auth.service.ts");
|
||||
/* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/environments/environment */ "./src/environments/environment.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let ProcessesService = class ProcessesService {
|
||||
constructor(http, user) {
|
||||
this.http = http;
|
||||
this.authheader = {};
|
||||
this.loggeduser = user.ValidatedUser;
|
||||
this.headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpHeaders"]();
|
||||
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
|
||||
}
|
||||
GetTasksList(processname, onlycount) {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].apiURL + 'tasks/List';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("ProcessName", processname);
|
||||
params = params.set("OnlyCount", onlycount.toString());
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
GetTask(serialnumber) {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].apiURL + 'tasks/Get';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("SerialNumber", serialnumber);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
GetMDOficialTasks() {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].apiURL + 'tasks/GetMDOficialTasks';
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
GetMDPersonalTasks() {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].apiURL + 'tasks/GetMDPersonalTasks';
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
GetToApprovedEvents(categoryname, count) {
|
||||
const geturl = src_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].apiURL + 'Tasks/ListByCategory';
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]();
|
||||
params = params.set("categoryname", categoryname);
|
||||
params = params.set("onlyCount", count);
|
||||
let options = {
|
||||
headers: this.headers,
|
||||
params: params
|
||||
};
|
||||
return this.http.get(`${geturl}`, options);
|
||||
}
|
||||
};
|
||||
ProcessesService.ctorParameters = () => [
|
||||
{ type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"] },
|
||||
{ type: _services_auth_service__WEBPACK_IMPORTED_MODULE_3__["AuthService"] }
|
||||
];
|
||||
ProcessesService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
|
||||
providedIn: 'root'
|
||||
})
|
||||
], ProcessesService);
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=home-home-module.js.map
|
||||
@@ -1,151 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["index-index-module"],{
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/index/index.page.html":
|
||||
/*!*****************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/index/index.page.html ***!
|
||||
\*****************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-content>\r\n <router-outlet></router-outlet>\r\n</ion-content>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/index/index-routing.module.ts":
|
||||
/*!***********************************************!*\
|
||||
!*** ./src/app/index/index-routing.module.ts ***!
|
||||
\***********************************************/
|
||||
/*! exports provided: IndexPageRoutingModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IndexPageRoutingModule", function() { return IndexPageRoutingModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var _index_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.page */ "./src/app/index/index.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '',
|
||||
component: _index_page__WEBPACK_IMPORTED_MODULE_3__["IndexPage"],
|
||||
/* canActivate: [IndexGuard], */
|
||||
children: [
|
||||
/*{
|
||||
path: '',
|
||||
loadChildren: ()=> import('../pages/welcome/welcome.module').then(m => m.WelcomePageModule)
|
||||
}, */
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-login-login-module */[__webpack_require__.e("default~home-home-module~pages-chat-chat-module~pages-login-login-module"), __webpack_require__.e("pages-login-login-module")]).then(__webpack_require__.bind(null, /*! ../pages/login/login.module */ "./src/app/pages/login/login.module.ts")).then(m => m.LoginPageModule)
|
||||
},
|
||||
]
|
||||
}
|
||||
];
|
||||
let IndexPageRoutingModule = class IndexPageRoutingModule {
|
||||
};
|
||||
IndexPageRoutingModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
|
||||
exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]],
|
||||
})
|
||||
], IndexPageRoutingModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/index/index.module.ts":
|
||||
/*!***************************************!*\
|
||||
!*** ./src/app/index/index.module.ts ***!
|
||||
\***************************************/
|
||||
/*! exports provided: IndexPageModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IndexPageModule", function() { return IndexPageModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js");
|
||||
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _index_routing_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index-routing.module */ "./src/app/index/index-routing.module.ts");
|
||||
/* harmony import */ var _index_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./index.page */ "./src/app/index/index.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let IndexPageModule = class IndexPageModule {
|
||||
};
|
||||
IndexPageModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [
|
||||
_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
|
||||
_angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormsModule"],
|
||||
_ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicModule"],
|
||||
_index_routing_module__WEBPACK_IMPORTED_MODULE_5__["IndexPageRoutingModule"]
|
||||
],
|
||||
declarations: [_index_page__WEBPACK_IMPORTED_MODULE_6__["IndexPage"]]
|
||||
})
|
||||
], IndexPageModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/index/index.page.scss":
|
||||
/*!***************************************!*\
|
||||
!*** ./src/app/index/index.page.scss ***!
|
||||
\***************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2luZGV4L2luZGV4LnBhZ2Uuc2NzcyJ9 */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/index/index.page.ts":
|
||||
/*!*************************************!*\
|
||||
!*** ./src/app/index/index.page.ts ***!
|
||||
\*************************************/
|
||||
/*! exports provided: IndexPage */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IndexPage", function() { return IndexPage; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
|
||||
|
||||
let IndexPage = class IndexPage {
|
||||
constructor() { }
|
||||
ngOnInit() {
|
||||
}
|
||||
};
|
||||
IndexPage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-index',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./index.page.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/index/index.page.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./index.page.scss */ "./src/app/index/index.page.scss")).default]
|
||||
})
|
||||
], IndexPage);
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=index-index-module.js.map
|
||||
@@ -1,153 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["keyboard-dd970efc-js"],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/keyboard-dd970efc.js":
|
||||
/*!****************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/keyboard-dd970efc.js ***!
|
||||
\****************************************************************/
|
||||
/*! exports provided: KEYBOARD_DID_CLOSE, KEYBOARD_DID_OPEN, copyVisualViewport, keyboardDidClose, keyboardDidOpen, keyboardDidResize, resetKeyboardAssist, setKeyboardClose, setKeyboardOpen, startKeyboardAssist, trackViewportChanges */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KEYBOARD_DID_CLOSE", function() { return KEYBOARD_DID_CLOSE; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KEYBOARD_DID_OPEN", function() { return KEYBOARD_DID_OPEN; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "copyVisualViewport", function() { return copyVisualViewport; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyboardDidClose", function() { return keyboardDidClose; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyboardDidOpen", function() { return keyboardDidOpen; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyboardDidResize", function() { return keyboardDidResize; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resetKeyboardAssist", function() { return resetKeyboardAssist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setKeyboardClose", function() { return setKeyboardClose; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setKeyboardOpen", function() { return setKeyboardOpen; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startKeyboardAssist", function() { return startKeyboardAssist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trackViewportChanges", function() { return trackViewportChanges; });
|
||||
const KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';
|
||||
const KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';
|
||||
const KEYBOARD_THRESHOLD = 150;
|
||||
let previousVisualViewport = {};
|
||||
let currentVisualViewport = {};
|
||||
let keyboardOpen = false;
|
||||
/**
|
||||
* This is only used for tests
|
||||
*/
|
||||
const resetKeyboardAssist = () => {
|
||||
previousVisualViewport = {};
|
||||
currentVisualViewport = {};
|
||||
keyboardOpen = false;
|
||||
};
|
||||
const startKeyboardAssist = (win) => {
|
||||
startNativeListeners(win);
|
||||
if (!win.visualViewport) {
|
||||
return;
|
||||
}
|
||||
currentVisualViewport = copyVisualViewport(win.visualViewport);
|
||||
win.visualViewport.onresize = () => {
|
||||
trackViewportChanges(win);
|
||||
if (keyboardDidOpen() || keyboardDidResize(win)) {
|
||||
setKeyboardOpen(win);
|
||||
}
|
||||
else if (keyboardDidClose(win)) {
|
||||
setKeyboardClose(win);
|
||||
}
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Listen for events fired by native keyboard plugin
|
||||
* in Capacitor/Cordova so devs only need to listen
|
||||
* in one place.
|
||||
*/
|
||||
const startNativeListeners = (win) => {
|
||||
win.addEventListener('keyboardDidShow', ev => setKeyboardOpen(win, ev));
|
||||
win.addEventListener('keyboardDidHide', () => setKeyboardClose(win));
|
||||
};
|
||||
const setKeyboardOpen = (win, ev) => {
|
||||
fireKeyboardOpenEvent(win, ev);
|
||||
keyboardOpen = true;
|
||||
};
|
||||
const setKeyboardClose = (win) => {
|
||||
fireKeyboardCloseEvent(win);
|
||||
keyboardOpen = false;
|
||||
};
|
||||
/**
|
||||
* Returns `true` if the `keyboardOpen` flag is not
|
||||
* set, the previous visual viewport width equal the current
|
||||
* visual viewport width, and if the scaled difference
|
||||
* of the previous visual viewport height minus the current
|
||||
* visual viewport height is greater than KEYBOARD_THRESHOLD
|
||||
*
|
||||
* We need to be able to accommodate users who have zooming
|
||||
* enabled in their browser (or have zoomed in manually) which
|
||||
* is why we take into account the current visual viewport's
|
||||
* scale value.
|
||||
*/
|
||||
const keyboardDidOpen = () => {
|
||||
const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale;
|
||||
return (!keyboardOpen &&
|
||||
previousVisualViewport.width === currentVisualViewport.width &&
|
||||
scaledHeightDifference > KEYBOARD_THRESHOLD);
|
||||
};
|
||||
/**
|
||||
* Returns `true` if the keyboard is open,
|
||||
* but the keyboard did not close
|
||||
*/
|
||||
const keyboardDidResize = (win) => {
|
||||
return keyboardOpen && !keyboardDidClose(win);
|
||||
};
|
||||
/**
|
||||
* Determine if the keyboard was closed
|
||||
* Returns `true` if the `keyboardOpen` flag is set and
|
||||
* the current visual viewport height equals the
|
||||
* layout viewport height.
|
||||
*/
|
||||
const keyboardDidClose = (win) => {
|
||||
return keyboardOpen && currentVisualViewport.height === win.innerHeight;
|
||||
};
|
||||
/**
|
||||
* Dispatch a keyboard open event
|
||||
*/
|
||||
const fireKeyboardOpenEvent = (win, nativeEv) => {
|
||||
const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height;
|
||||
const ev = new CustomEvent(KEYBOARD_DID_OPEN, {
|
||||
detail: { keyboardHeight }
|
||||
});
|
||||
win.dispatchEvent(ev);
|
||||
};
|
||||
/**
|
||||
* Dispatch a keyboard close event
|
||||
*/
|
||||
const fireKeyboardCloseEvent = (win) => {
|
||||
const ev = new CustomEvent(KEYBOARD_DID_CLOSE);
|
||||
win.dispatchEvent(ev);
|
||||
};
|
||||
/**
|
||||
* Given a window object, create a copy of
|
||||
* the current visual and layout viewport states
|
||||
* while also preserving the previous visual and
|
||||
* layout viewport states
|
||||
*/
|
||||
const trackViewportChanges = (win) => {
|
||||
previousVisualViewport = Object.assign({}, currentVisualViewport);
|
||||
currentVisualViewport = copyVisualViewport(win.visualViewport);
|
||||
};
|
||||
/**
|
||||
* Creates a deep copy of the visual viewport
|
||||
* at a given state
|
||||
*/
|
||||
const copyVisualViewport = (visualViewport) => {
|
||||
return {
|
||||
width: Math.round(visualViewport.width),
|
||||
height: Math.round(visualViewport.height),
|
||||
offsetTop: visualViewport.offsetTop,
|
||||
offsetLeft: visualViewport.offsetLeft,
|
||||
pageTop: visualViewport.pageTop,
|
||||
pageLeft: visualViewport.pageLeft,
|
||||
scale: visualViewport.scale
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=keyboard-dd970efc-js.js.map
|
||||
@@ -1,561 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{
|
||||
|
||||
/***/ "./$$_lazy_route_resource lazy recursive":
|
||||
/*!******************************************************!*\
|
||||
!*** ./$$_lazy_route_resource lazy namespace object ***!
|
||||
\******************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
function webpackEmptyAsyncContext(req) {
|
||||
// Here Promise.resolve().then() is used instead of new Promise() to prevent
|
||||
// uncaught exception popping up in devtools
|
||||
return Promise.resolve().then(function() {
|
||||
var e = new Error("Cannot find module '" + req + "'");
|
||||
e.code = 'MODULE_NOT_FOUND';
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
webpackEmptyAsyncContext.keys = function() { return []; };
|
||||
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
|
||||
module.exports = webpackEmptyAsyncContext;
|
||||
webpackEmptyAsyncContext.id = "./$$_lazy_route_resource lazy recursive";
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm lazy recursive ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$":
|
||||
/*!*****************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm lazy ^\.\/.*\.entry\.js$ include: \.entry\.js$ exclude: \.system\.entry\.js$ namespace object ***!
|
||||
\*****************************************************************************************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var map = {
|
||||
"./ion-action-sheet.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js",
|
||||
"common",
|
||||
0
|
||||
],
|
||||
"./ion-alert.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-alert.entry.js",
|
||||
"common",
|
||||
1
|
||||
],
|
||||
"./ion-app_8.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js",
|
||||
"common",
|
||||
2
|
||||
],
|
||||
"./ion-avatar_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js",
|
||||
"common",
|
||||
3
|
||||
],
|
||||
"./ion-back-button.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-back-button.entry.js",
|
||||
"common",
|
||||
4
|
||||
],
|
||||
"./ion-backdrop.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-backdrop.entry.js",
|
||||
5
|
||||
],
|
||||
"./ion-button_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-button_2.entry.js",
|
||||
"common",
|
||||
6
|
||||
],
|
||||
"./ion-card_5.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-card_5.entry.js",
|
||||
"common",
|
||||
7
|
||||
],
|
||||
"./ion-checkbox.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-checkbox.entry.js",
|
||||
"common",
|
||||
8
|
||||
],
|
||||
"./ion-chip.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-chip.entry.js",
|
||||
"common",
|
||||
9
|
||||
],
|
||||
"./ion-col_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js",
|
||||
10
|
||||
],
|
||||
"./ion-datetime_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js",
|
||||
"common",
|
||||
11
|
||||
],
|
||||
"./ion-fab_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js",
|
||||
"common",
|
||||
12
|
||||
],
|
||||
"./ion-img.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-img.entry.js",
|
||||
13
|
||||
],
|
||||
"./ion-infinite-scroll_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js",
|
||||
14
|
||||
],
|
||||
"./ion-input.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-input.entry.js",
|
||||
"common",
|
||||
15
|
||||
],
|
||||
"./ion-item-option_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js",
|
||||
"common",
|
||||
16
|
||||
],
|
||||
"./ion-item_8.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js",
|
||||
"common",
|
||||
17
|
||||
],
|
||||
"./ion-loading.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-loading.entry.js",
|
||||
"common",
|
||||
18
|
||||
],
|
||||
"./ion-menu_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js",
|
||||
"common",
|
||||
19
|
||||
],
|
||||
"./ion-modal.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-modal.entry.js",
|
||||
"common",
|
||||
20
|
||||
],
|
||||
"./ion-nav_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js",
|
||||
"common",
|
||||
21
|
||||
],
|
||||
"./ion-popover.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-popover.entry.js",
|
||||
"common",
|
||||
22
|
||||
],
|
||||
"./ion-progress-bar.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js",
|
||||
"common",
|
||||
23
|
||||
],
|
||||
"./ion-radio_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js",
|
||||
"common",
|
||||
24
|
||||
],
|
||||
"./ion-range.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-range.entry.js",
|
||||
"common",
|
||||
25
|
||||
],
|
||||
"./ion-refresher_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js",
|
||||
"common",
|
||||
26
|
||||
],
|
||||
"./ion-reorder_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js",
|
||||
"common",
|
||||
27
|
||||
],
|
||||
"./ion-ripple-effect.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js",
|
||||
28
|
||||
],
|
||||
"./ion-route_4.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js",
|
||||
"common",
|
||||
29
|
||||
],
|
||||
"./ion-searchbar.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js",
|
||||
"common",
|
||||
30
|
||||
],
|
||||
"./ion-segment_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js",
|
||||
"common",
|
||||
31
|
||||
],
|
||||
"./ion-select_3.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js",
|
||||
"common",
|
||||
32
|
||||
],
|
||||
"./ion-slide_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js",
|
||||
33
|
||||
],
|
||||
"./ion-spinner.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js",
|
||||
"common",
|
||||
34
|
||||
],
|
||||
"./ion-split-pane.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js",
|
||||
35
|
||||
],
|
||||
"./ion-tab-bar_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js",
|
||||
"common",
|
||||
36
|
||||
],
|
||||
"./ion-tab_2.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js",
|
||||
"common",
|
||||
37
|
||||
],
|
||||
"./ion-text.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-text.entry.js",
|
||||
"common",
|
||||
38
|
||||
],
|
||||
"./ion-textarea.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-textarea.entry.js",
|
||||
"common",
|
||||
39
|
||||
],
|
||||
"./ion-toast.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-toast.entry.js",
|
||||
"common",
|
||||
40
|
||||
],
|
||||
"./ion-toggle.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-toggle.entry.js",
|
||||
"common",
|
||||
41
|
||||
],
|
||||
"./ion-virtual-scroll.entry.js": [
|
||||
"./node_modules/@ionic/core/dist/esm/ion-virtual-scroll.entry.js",
|
||||
42
|
||||
]
|
||||
};
|
||||
function webpackAsyncContext(req) {
|
||||
if(!__webpack_require__.o(map, req)) {
|
||||
return Promise.resolve().then(function() {
|
||||
var e = new Error("Cannot find module '" + req + "'");
|
||||
e.code = 'MODULE_NOT_FOUND';
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
|
||||
var ids = map[req], id = ids[0];
|
||||
return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {
|
||||
return __webpack_require__(id);
|
||||
});
|
||||
}
|
||||
webpackAsyncContext.keys = function webpackAsyncContextKeys() {
|
||||
return Object.keys(map);
|
||||
};
|
||||
webpackAsyncContext.id = "./node_modules/@ionic/core/dist/esm lazy recursive ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$";
|
||||
module.exports = webpackAsyncContext;
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html":
|
||||
/*!**************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html ***!
|
||||
\**************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-app>\r\n <ion-router-outlet></ion-router-outlet>\r\n</ion-app>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/webpack/hot sync ^\\.\\/log$":
|
||||
/*!*************************************************!*\
|
||||
!*** (webpack)/hot sync nonrecursive ^\.\/log$ ***!
|
||||
\*************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var map = {
|
||||
"./log": "./node_modules/webpack/hot/log.js"
|
||||
};
|
||||
|
||||
|
||||
function webpackContext(req) {
|
||||
var id = webpackContextResolve(req);
|
||||
return __webpack_require__(id);
|
||||
}
|
||||
function webpackContextResolve(req) {
|
||||
if(!__webpack_require__.o(map, req)) {
|
||||
var e = new Error("Cannot find module '" + req + "'");
|
||||
e.code = 'MODULE_NOT_FOUND';
|
||||
throw e;
|
||||
}
|
||||
return map[req];
|
||||
}
|
||||
webpackContext.keys = function webpackContextKeys() {
|
||||
return Object.keys(map);
|
||||
};
|
||||
webpackContext.resolve = webpackContextResolve;
|
||||
module.exports = webpackContext;
|
||||
webpackContext.id = "./node_modules/webpack/hot sync ^\\.\\/log$";
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/app-routing.module.ts":
|
||||
/*!***************************************!*\
|
||||
!*** ./src/app/app-routing.module.ts ***!
|
||||
\***************************************/
|
||||
/*! exports provided: AppRoutingModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppRoutingModule", function() { return AppRoutingModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => __webpack_require__.e(/*! import() | index-index-module */ "index-index-module").then(__webpack_require__.bind(null, /*! ./index/index.module */ "./src/app/index/index.module.ts")).then(m => m.IndexPageModule)
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => Promise.all(/*! import() | home-home-module */[__webpack_require__.e("default~home-home-module~pages-chat-chat-module~pages-login-login-module"), __webpack_require__.e("home-home-module")]).then(__webpack_require__.bind(null, /*! ./home/home.module */ "./src/app/home/home.module.ts")).then(m => m.HomePageModule)
|
||||
},
|
||||
{
|
||||
path: 'chat',
|
||||
loadChildren: () => Promise.all(/*! import() | pages-chat-chat-module */[__webpack_require__.e("default~home-home-module~pages-chat-chat-module~pages-login-login-module"), __webpack_require__.e("pages-chat-chat-module")]).then(__webpack_require__.bind(null, /*! ./pages/chat/chat.module */ "./src/app/pages/chat/chat.module.ts")).then(m => m.ChatPageModule)
|
||||
},
|
||||
];
|
||||
let AppRoutingModule = class AppRoutingModule {
|
||||
};
|
||||
AppRoutingModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [
|
||||
_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forRoot(routes, { preloadingStrategy: _angular_router__WEBPACK_IMPORTED_MODULE_2__["PreloadAllModules"] })
|
||||
],
|
||||
exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
|
||||
})
|
||||
], AppRoutingModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/app.component.scss":
|
||||
/*!************************************!*\
|
||||
!*** ./src/app/app.component.scss ***!
|
||||
\************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/app.component.ts":
|
||||
/*!**********************************!*\
|
||||
!*** ./src/app/app.component.ts ***!
|
||||
\**********************************/
|
||||
/*! exports provided: AppComponent */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppComponent", function() { return AppComponent; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _ionic_native_splash_screen_ngx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ionic-native/splash-screen/ngx */ "./node_modules/@ionic-native/splash-screen/__ivy_ngcc__/ngx/index.js");
|
||||
/* harmony import */ var _ionic_native_status_bar_ngx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic-native/status-bar/ngx */ "./node_modules/@ionic-native/status-bar/__ivy_ngcc__/ngx/index.js");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let AppComponent = class AppComponent {
|
||||
constructor(platform, splashScreen, statusBar) {
|
||||
this.platform = platform;
|
||||
this.splashScreen = splashScreen;
|
||||
this.statusBar = statusBar;
|
||||
this.initializeApp();
|
||||
}
|
||||
initializeApp() {
|
||||
this.platform.ready().then(() => {
|
||||
this.statusBar.styleDefault();
|
||||
this.splashScreen.hide();
|
||||
});
|
||||
}
|
||||
};
|
||||
AppComponent.ctorParameters = () => [
|
||||
{ type: _ionic_angular__WEBPACK_IMPORTED_MODULE_2__["Platform"] },
|
||||
{ type: _ionic_native_splash_screen_ngx__WEBPACK_IMPORTED_MODULE_3__["SplashScreen"] },
|
||||
{ type: _ionic_native_status_bar_ngx__WEBPACK_IMPORTED_MODULE_4__["StatusBar"] }
|
||||
];
|
||||
AppComponent = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-root',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./app.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./app.component.scss */ "./src/app/app.component.scss")).default]
|
||||
})
|
||||
], AppComponent);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/app.module.ts":
|
||||
/*!*******************************!*\
|
||||
!*** ./src/app/app.module.ts ***!
|
||||
\*******************************/
|
||||
/*! exports provided: AppModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/platform-browser.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _ionic_native_splash_screen_ngx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ionic-native/splash-screen/ngx */ "./node_modules/@ionic-native/splash-screen/__ivy_ngcc__/ngx/index.js");
|
||||
/* harmony import */ var _ionic_native_status_bar_ngx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ionic-native/status-bar/ngx */ "./node_modules/@ionic-native/status-bar/__ivy_ngcc__/ngx/index.js");
|
||||
/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./app-routing.module */ "./src/app/app-routing.module.ts");
|
||||
/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./app.component */ "./src/app/app.component.ts");
|
||||
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js");
|
||||
/* harmony import */ var _ionic_native_in_app_browser_ngx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ionic-native/in-app-browser/ngx */ "./node_modules/@ionic-native/in-app-browser/__ivy_ngcc__/ngx/index.js");
|
||||
/* harmony import */ var ngx_socket_io__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ngx-socket-io */ "./node_modules/ngx-socket-io/__ivy_ngcc__/fesm2015/ngx-socket-io.js");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const config = { url: 'http://localhost:3001', options: {} };
|
||||
let AppModule = class AppModule {
|
||||
};
|
||||
AppModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
declarations: [_app_component__WEBPACK_IMPORTED_MODULE_8__["AppComponent"]],
|
||||
entryComponents: [],
|
||||
imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__["BrowserModule"], _ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicModule"].forRoot(), _app_routing_module__WEBPACK_IMPORTED_MODULE_7__["AppRoutingModule"], _angular_common_http__WEBPACK_IMPORTED_MODULE_9__["HttpClientModule"], ngx_socket_io__WEBPACK_IMPORTED_MODULE_11__["SocketIoModule"].forRoot(config)],
|
||||
providers: [
|
||||
_ionic_native_status_bar_ngx__WEBPACK_IMPORTED_MODULE_6__["StatusBar"],
|
||||
_ionic_native_splash_screen_ngx__WEBPACK_IMPORTED_MODULE_5__["SplashScreen"],
|
||||
_angular_common_http__WEBPACK_IMPORTED_MODULE_9__["HttpClientModule"],
|
||||
{ provide: _angular_router__WEBPACK_IMPORTED_MODULE_3__["RouteReuseStrategy"], useClass: _ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicRouteStrategy"] },
|
||||
_ionic_native_in_app_browser_ngx__WEBPACK_IMPORTED_MODULE_10__["InAppBrowser"],
|
||||
],
|
||||
bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_8__["AppComponent"]],
|
||||
schemas: [_angular_core__WEBPACK_IMPORTED_MODULE_1__["CUSTOM_ELEMENTS_SCHEMA"]]
|
||||
})
|
||||
], AppModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/environments/environment.ts":
|
||||
/*!*****************************************!*\
|
||||
!*** ./src/environments/environment.ts ***!
|
||||
\*****************************************/
|
||||
/*! exports provided: environment */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "environment", function() { return environment; });
|
||||
// This file can be replaced during build by using the `fileReplacements` array.
|
||||
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
|
||||
// The list of file replacements can be found in `angular.json`.
|
||||
const environment = {
|
||||
production: false,
|
||||
apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V3/api/',
|
||||
apiChatUrl: 'http://192.168.100.111:3000/api/v1/',
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
/*
|
||||
* For easier debugging in development mode, you can import the following file
|
||||
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
||||
*
|
||||
* This import should be commented out in production mode because it will have a negative impact
|
||||
* on performance if an error is thrown.
|
||||
*/
|
||||
// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/main.ts":
|
||||
/*!*********************!*\
|
||||
!*** ./src/main.ts ***!
|
||||
\*********************/
|
||||
/*! no exports provided */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ "./node_modules/@angular/platform-browser-dynamic/__ivy_ngcc__/fesm2015/platform-browser-dynamic.js");
|
||||
/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/app.module */ "./src/app/app.module.ts");
|
||||
/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./environments/environment */ "./src/environments/environment.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
if (_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].production) {
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["enableProdMode"])();
|
||||
}
|
||||
Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_2__["AppModule"])
|
||||
.catch(err => console.log(err));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 0:
|
||||
/*!**********************************************************************************************************!*\
|
||||
!*** multi (webpack)-dev-server/client?http://0.0.0.0:0/sockjs-node&sockPath=/sockjs-node ./src/main.ts ***!
|
||||
\**********************************************************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
__webpack_require__(/*! C:\Users\tiago.kayaya\development\gabinete-digital\node_modules\webpack-dev-server\client\index.js?http://0.0.0.0:0/sockjs-node&sockPath=/sockjs-node */"./node_modules/webpack-dev-server/client/index.js?http://0.0.0.0:0/sockjs-node&sockPath=/sockjs-node");
|
||||
module.exports = __webpack_require__(/*! C:\Users\tiago.kayaya\development\gabinete-digital\src\main.ts */"./src/main.ts");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1:
|
||||
/*!********************!*\
|
||||
!*** ws (ignored) ***!
|
||||
\********************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
/* (ignored) */
|
||||
|
||||
/***/ })
|
||||
|
||||
},[[0,"runtime","vendor"]]]);
|
||||
//# sourceMappingURL=main.js.map
|
||||
-196
@@ -1,196 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages-gabinete-digital-gabinete-digital-module"],{
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/gabinete-digital/gabinete-digital.page.html":
|
||||
/*!*********************************************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/pages/gabinete-digital/gabinete-digital.page.html ***!
|
||||
\*********************************************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header>\r\n <ion-toolbar>\r\n <ion-title>Gabinete Digital</ion-title>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <ion-card color=\"#d4d5ca\">\r\n <ion-card-header>\r\n <ion-card-title>Eventos para Aprovação</ion-card-title>\r\n <ion-card-content>\r\n <ion-item [routerLink]=\"['/home/gabinete-digital/event-list']\">\r\n <ion-label>Minha agenda</ion-label>\r\n <ion-button slot=\"end\">{{count_ev_md}}</ion-button>\r\n </ion-item>\r\n <ion-item [routerLink]=\"['/home/gabinete-digital/event-list']\" class=\"ion-item-change-color\">\r\n <ion-label>Agenda do Presidente</ion-label>\r\n <ion-button slot=\"end\">{{count_ev_pr}}</ion-button>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card-header>\r\n </ion-card>\r\n <ion-card color=\"#d4d5ca\">\r\n <ion-card-header>\r\n <ion-card-title>Expediente</ion-card-title>\r\n <ion-card-content>\r\n <ion-item [routerLink]=\"['/home/gabinete-digital/expediente']\">\r\n <ion-label>Correspondência</ion-label>\r\n <ion-button slot=\"end\">{{ count_exp_dailywork }}</ion-button>\r\n </ion-item>\r\n <ion-item (click)=\"notImplemented()\" class=\"ion-activated\">\r\n <ion-label>Pedidos de parecer</ion-label>\r\n <ion-button slot=\"end\">{{count_exp_pp}}</ion-button>\r\n </ion-item>\r\n <ion-item (click)=\"notImplemented()\">\r\n <ion-label>Pedidos de deferimento</ion-label>\r\n <ion-button slot=\"end\">{{count_exp_pd}}</ion-button>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card-header>\r\n</ion-card>\r\n<ion-card color=\"#d4d5ca\">\r\n <ion-card-header>\r\n <ion-card-title>Expediente para o PR</ion-card-title>\r\n <ion-card-content>\r\n <ion-item (click)=\"notImplemented()\" class=\"ion-item-change-color\">\r\n <ion-label>Correspondência</ion-label>\r\n <ion-button slot=\"end\">{{count_de_pr}}</ion-button>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card-header>\r\n</ion-card>\r\n<ion-card color=\"#d4d5ca\">\r\n <ion-card-header>\r\n <ion-card-title>Despachos Efectuados</ion-card-title>\r\n <ion-card-content>\r\n <ion-item (click)=\"notImplemented()\" class=\"ion-item-change-color\">\r\n <ion-label>Presidente da República</ion-label>\r\n <ion-button slot=\"end\">{{count_de_pr}}</ion-button>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card-header>\r\n</ion-card>\r\n<ion-card color=\"#d4d5ca\">\r\n <ion-card-header>\r\n <ion-card-title>Diplomas</ion-card-title>\r\n <ion-card-content>\r\n <ion-item primary (click)=\"notImplemented()\" class=\"ion-activated\">\r\n <ion-label>Por validar (MDGPR)</ion-label>\r\n <ion-button slot=\"end\">{{count_dip_pv}}</ion-button>\r\n </ion-item>\r\n <ion-item (click)=\"notImplemented()\" class=\"ion-item-change-color\">\r\n <ion-label>Assinados pelo PR</ion-label>\r\n <ion-button slot=\"end\">{{count_dip_apr}}</ion-button>\r\n </ion-item>\r\n </ion-card-content>\r\n </ion-card-header>\r\n</ion-card>\r\n\r\n</ion-content>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/gabinete-digital/gabinete-digital-routing.module.ts":
|
||||
/*!***************************************************************************!*\
|
||||
!*** ./src/app/pages/gabinete-digital/gabinete-digital-routing.module.ts ***!
|
||||
\***************************************************************************/
|
||||
/*! exports provided: GabineteDigitalPageRoutingModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GabineteDigitalPageRoutingModule", function() { return GabineteDigitalPageRoutingModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var _gabinete_digital_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./gabinete-digital.page */ "./src/app/pages/gabinete-digital/gabinete-digital.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '',
|
||||
component: _gabinete_digital_page__WEBPACK_IMPORTED_MODULE_3__["GabineteDigitalPage"]
|
||||
},
|
||||
{
|
||||
path: 'expediente',
|
||||
loadChildren: () => Promise.all(/*! import() | expediente-expediente-module */[__webpack_require__.e("default~expediente-expediente-module~pages-agenda-agenda-module"), __webpack_require__.e("expediente-expediente-module")]).then(__webpack_require__.bind(null, /*! ./expediente/expediente.module */ "./src/app/pages/gabinete-digital/expediente/expediente.module.ts")).then(m => m.ExpedientePageModule)
|
||||
},
|
||||
{
|
||||
path: 'event-list',
|
||||
loadChildren: () => Promise.all(/*! import() | event-list-event-list-module */[__webpack_require__.e("common"), __webpack_require__.e("event-list-event-list-module")]).then(__webpack_require__.bind(null, /*! ./event-list/event-list.module */ "./src/app/pages/gabinete-digital/event-list/event-list.module.ts")).then(m => m.EventListPageModule)
|
||||
},
|
||||
{
|
||||
path: 'event-list-pr',
|
||||
loadChildren: () => __webpack_require__.e(/*! import() | event-list-pr-event-list-pr-module */ "event-list-pr-event-list-pr-module").then(__webpack_require__.bind(null, /*! ./event-list-pr/event-list-pr.module */ "./src/app/pages/gabinete-digital/event-list-pr/event-list-pr.module.ts")).then(m => m.EventListPrPageModule)
|
||||
}
|
||||
];
|
||||
let GabineteDigitalPageRoutingModule = class GabineteDigitalPageRoutingModule {
|
||||
};
|
||||
GabineteDigitalPageRoutingModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
|
||||
exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]],
|
||||
})
|
||||
], GabineteDigitalPageRoutingModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/gabinete-digital/gabinete-digital.module.ts":
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./src/app/pages/gabinete-digital/gabinete-digital.module.ts ***!
|
||||
\*******************************************************************/
|
||||
/*! exports provided: GabineteDigitalPageModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GabineteDigitalPageModule", function() { return GabineteDigitalPageModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js");
|
||||
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _gabinete_digital_routing_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./gabinete-digital-routing.module */ "./src/app/pages/gabinete-digital/gabinete-digital-routing.module.ts");
|
||||
/* harmony import */ var _gabinete_digital_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./gabinete-digital.page */ "./src/app/pages/gabinete-digital/gabinete-digital.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* */
|
||||
let GabineteDigitalPageModule = class GabineteDigitalPageModule {
|
||||
};
|
||||
GabineteDigitalPageModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [
|
||||
_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
|
||||
_angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormsModule"],
|
||||
_ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicModule"],
|
||||
/* */
|
||||
_gabinete_digital_routing_module__WEBPACK_IMPORTED_MODULE_5__["GabineteDigitalPageRoutingModule"]
|
||||
],
|
||||
declarations: [_gabinete_digital_page__WEBPACK_IMPORTED_MODULE_6__["GabineteDigitalPage"]],
|
||||
schemas: [_angular_core__WEBPACK_IMPORTED_MODULE_1__["CUSTOM_ELEMENTS_SCHEMA"]]
|
||||
})
|
||||
], GabineteDigitalPageModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/gabinete-digital/gabinete-digital.page.scss":
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./src/app/pages/gabinete-digital/gabinete-digital.page.scss ***!
|
||||
\*******************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = (":host ion-card-title {\n text-align: center;\n}\n:host ion-card {\n background-color: #d4d5ca;\n border-radius: 20px;\n}\n:host ion-item {\n --ion-background-color:#dae3f3;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n:host ion-button {\n color: #000;\n --background:none;\n --border-color: none;\n --box-shadow:none;\n}\n:host ion-label {\n padding: 10px;\n}\n.ion-item-change-color {\n --ion-background-color:#fff2cc !important;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvZ2FiaW5ldGUtZGlnaXRhbC9DOlxcVXNlcnNcXHRpYWdvLmtheWF5YVxcZGV2ZWxvcG1lbnRcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxnYWJpbmV0ZS1kaWdpdGFsXFxnYWJpbmV0ZS1kaWdpdGFsLnBhZ2Uuc2NzcyIsInNyYy9hcHAvcGFnZXMvZ2FiaW5ldGUtZGlnaXRhbC9nYWJpbmV0ZS1kaWdpdGFsLnBhZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRTtFQUNJLGtCQUFBO0FDQU47QURHQTtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7QUNERjtBREdBO0VBQ0UsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FDREY7QURHQTtFQUNHLFdBQUE7RUFDRCxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUNERjtBREdBO0VBQ0csYUFBQTtBQ0RIO0FESUE7RUFDRSx5Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUNERiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2dhYmluZXRlLWRpZ2l0YWwvZ2FiaW5ldGUtZGlnaXRhbC5wYWdlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICBpb24tY2FyZC10aXRsZXtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbmlvbi1jYXJke1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGQ1Y2E7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcclxufVxyXG5pb24taXRlbXtcclxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiNkYWUzZjM7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuaW9uLWJ1dHRvbntcclxuICAgY29sb3I6ICMwMDA7XHJcbiAgLS1iYWNrZ3JvdW5kOm5vbmU7XHJcbiAgLS1ib3JkZXItY29sb3I6IG5vbmU7XHJcbiAgLS1ib3gtc2hhZG93Om5vbmU7XHJcbn1cclxuaW9uLWxhYmVse1xyXG4gICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbn1cclxuLmlvbi1pdGVtLWNoYW5nZS1jb2xvcntcclxuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiNmZmYyY2MgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxufSIsIjpob3N0IGlvbi1jYXJkLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuOmhvc3QgaW9uLWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNWNhO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuOmhvc3QgaW9uLWl0ZW0ge1xuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiNkYWUzZjM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbjpob3N0IGlvbi1idXR0b24ge1xuICBjb2xvcjogIzAwMDtcbiAgLS1iYWNrZ3JvdW5kOm5vbmU7XG4gIC0tYm9yZGVyLWNvbG9yOiBub25lO1xuICAtLWJveC1zaGFkb3c6bm9uZTtcbn1cbjpob3N0IGlvbi1sYWJlbCB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5pb24taXRlbS1jaGFuZ2UtY29sb3Ige1xuICAtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yOiNmZmYyY2MgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufSJdfQ== */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/gabinete-digital/gabinete-digital.page.ts":
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./src/app/pages/gabinete-digital/gabinete-digital.page.ts ***!
|
||||
\*****************************************************************/
|
||||
/*! exports provided: GabineteDigitalPage */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GabineteDigitalPage", function() { return GabineteDigitalPage; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var src_app_services_processes_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/services/processes.service */ "./src/app/services/processes.service.ts");
|
||||
/* harmony import */ var src_app_services_alert_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/services/alert.service */ "./src/app/services/alert.service.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
let GabineteDigitalPage = class GabineteDigitalPage {
|
||||
constructor(processesbackend, alertService) {
|
||||
this.processesbackend = processesbackend;
|
||||
this.alertService = alertService;
|
||||
}
|
||||
ngOnInit() {
|
||||
this.LoadCounts();
|
||||
console.log('cheguei');
|
||||
}
|
||||
LoadCounts() {
|
||||
this.showLoader = true;
|
||||
this.processesbackend.GetTasksList("Expediente", true).subscribe(result => {
|
||||
this.showLoader = false;
|
||||
this.count_exp_dailywork = result;
|
||||
});
|
||||
this.processesbackend.GetToApprovedEvents('PR', 'true').subscribe(res => {
|
||||
this.count_ev_pr = res;
|
||||
});
|
||||
this.processesbackend.GetToApprovedEvents('MDGPR', 'true').subscribe(res => {
|
||||
this.count_ev_md = res;
|
||||
});
|
||||
this.count_exp_pp = "-";
|
||||
this.count_exp_pd = "-";
|
||||
this.count_dip_apr = "-";
|
||||
this.count_dip_pv = "-";
|
||||
this.count_de_pr = "-";
|
||||
this.count_ev_md = '-';
|
||||
}
|
||||
doRefresh(event) {
|
||||
this.LoadCounts();
|
||||
setTimeout(() => {
|
||||
event.target.complete();
|
||||
}, 2000);
|
||||
}
|
||||
notImplemented() {
|
||||
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
|
||||
}
|
||||
};
|
||||
GabineteDigitalPage.ctorParameters = () => [
|
||||
{ type: src_app_services_processes_service__WEBPACK_IMPORTED_MODULE_2__["ProcessesService"] },
|
||||
{ type: src_app_services_alert_service__WEBPACK_IMPORTED_MODULE_3__["AlertService"] }
|
||||
];
|
||||
GabineteDigitalPage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-gabinete-digital',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./gabinete-digital.page.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/gabinete-digital/gabinete-digital.page.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./gabinete-digital.page.scss */ "./src/app/pages/gabinete-digital/gabinete-digital.page.scss")).default]
|
||||
})
|
||||
], GabineteDigitalPage);
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=pages-gabinete-digital-gabinete-digital-module.js.map
|
||||
@@ -1,281 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages-login-login-module"],{
|
||||
|
||||
/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/login/login.page.html":
|
||||
/*!***********************************************************************************!*\
|
||||
!*** ./node_modules/raw-loader/dist/cjs.js!./src/app/pages/login/login.page.html ***!
|
||||
\***********************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-content>\r\n <div class=\"wrapper\">\r\n <div class=\"div-logo\">\r\n <img src='assets/images/fullLogo.png' alt='logo'>\r\n </div>\r\n <h2 class=\"center\">Inicie a sessão</h2>\r\n <form>\r\n <ion-list>\r\n <ion-item>\r\n <ion-label position=\"floating\">Nome de utilizador</ion-label>\r\n <ion-input type=\"text\" [(ngModel)]=\"username\" name=\"input-username\"></ion-input>\r\n </ion-item>\r\n <ion-item>\r\n <ion-label position=\"floating\">Palavra-passe</ion-label>\r\n <ion-input type=\"password\" [(ngModel)]=\"password\" name=\"input-password\" ></ion-input>\r\n </ion-item> \r\n <ion-button expand=\"block\" shape=\"round\" color=\"primary\" (click)=\"Login()\">Iniciar</ion-button>\r\n </ion-list>\r\n </form>\r\n</div>\r\n</ion-content>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/login/login-routing.module.ts":
|
||||
/*!*****************************************************!*\
|
||||
!*** ./src/app/pages/login/login-routing.module.ts ***!
|
||||
\*****************************************************/
|
||||
/*! exports provided: LoginPageRoutingModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginPageRoutingModule", function() { return LoginPageRoutingModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var _login_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./login.page */ "./src/app/pages/login/login.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '',
|
||||
component: _login_page__WEBPACK_IMPORTED_MODULE_3__["LoginPage"]
|
||||
}
|
||||
];
|
||||
let LoginPageRoutingModule = class LoginPageRoutingModule {
|
||||
};
|
||||
LoginPageRoutingModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
|
||||
exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]],
|
||||
})
|
||||
], LoginPageRoutingModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/login/login.module.ts":
|
||||
/*!*********************************************!*\
|
||||
!*** ./src/app/pages/login/login.module.ts ***!
|
||||
\*********************************************/
|
||||
/*! exports provided: LoginPageModule */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginPageModule", function() { return LoginPageModule; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js");
|
||||
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var _login_routing_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./login-routing.module */ "./src/app/pages/login/login-routing.module.ts");
|
||||
/* harmony import */ var _login_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./login.page */ "./src/app/pages/login/login.page.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let LoginPageModule = class LoginPageModule {
|
||||
};
|
||||
LoginPageModule = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
|
||||
imports: [
|
||||
_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
|
||||
_angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormsModule"],
|
||||
_ionic_angular__WEBPACK_IMPORTED_MODULE_4__["IonicModule"],
|
||||
_login_routing_module__WEBPACK_IMPORTED_MODULE_5__["LoginPageRoutingModule"]
|
||||
],
|
||||
declarations: [_login_page__WEBPACK_IMPORTED_MODULE_6__["LoginPage"]],
|
||||
schemas: [_angular_core__WEBPACK_IMPORTED_MODULE_1__["CUSTOM_ELEMENTS_SCHEMA"]]
|
||||
})
|
||||
], LoginPageModule);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/login/login.page.scss":
|
||||
/*!*********************************************!*\
|
||||
!*** ./src/app/pages/login/login.page.scss ***!
|
||||
\*********************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = (".wrapper {\n margin: 0 auto;\n}\n\n.div-logo {\n width: 270px;\n margin: 0 auto;\n padding-bottom: 15px;\n}\n\n.div-logo img {\n width: 100%;\n}\n\nform {\n /* border: 1px solid red; */\n padding: 10px;\n}\n\n.wrapper ion-label {\n font-size: 20px;\n}\n\n.wrapper ion-input {\n font-size: 22px;\n}\n\n.wrapper ion-button {\n font-size: medium;\n margin-top: 25px;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFx0aWFnby5rYXlheWFcXGRldmVsb3BtZW50XFxnYWJpbmV0ZS1kaWdpdGFsL3NyY1xcYXBwXFxwYWdlc1xcbG9naW5cXGxvZ2luLnBhZ2Uuc2NzcyIsInNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKOztBRENBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtBQ0VKOztBREFBO0VBQ0ksV0FBQTtBQ0dKOztBRERBO0VBQ0ksMkJBQUE7RUFDQSxhQUFBO0FDSUo7O0FERkE7RUFDSSxlQUFBO0FDS0o7O0FESEE7RUFDSSxlQUFBO0FDTUo7O0FESkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDT0oiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud3JhcHBlcntcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbi5kaXYtbG9nb3tcclxuICAgIHdpZHRoOiAyNzBweDtcclxuICAgIG1hcmdpbjogIDAgYXV0bztcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG59XHJcbi5kaXYtbG9nbyBpbWd7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5mb3Jte1xyXG4gICAgLyogYm9yZGVyOiAxcHggc29saWQgcmVkOyAqL1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4ud3JhcHBlciBpb24tbGFiZWx7XHJcbiAgICBmb250LXNpemU6IDIwcHg7IFxyXG59XHJcbi53cmFwcGVyIGlvbi1pbnB1dHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxufVxyXG4ud3JhcHBlciBpb24tYnV0dG9ue1xyXG4gICAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG59XHJcbiIsIi53cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5kaXYtbG9nbyB7XG4gIHdpZHRoOiAyNzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4uZGl2LWxvZ28gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmZvcm0ge1xuICAvKiBib3JkZXI6IDFweCBzb2xpZCByZWQ7ICovXG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi53cmFwcGVyIGlvbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAyMnB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59Il19 */");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/pages/login/login.page.ts":
|
||||
/*!*******************************************!*\
|
||||
!*** ./src/app/pages/login/login.page.ts ***!
|
||||
\*******************************************/
|
||||
/*! exports provided: LoginPage */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginPage", function() { return LoginPage; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js");
|
||||
/* harmony import */ var src_app_services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/services/auth.service */ "./src/app/services/auth.service.ts");
|
||||
/* harmony import */ var src_app_services_toast_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/services/toast.service */ "./src/app/services/toast.service.ts");
|
||||
/* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/environments/environment */ "./src/environments/environment.ts");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
/* harmony import */ var src_app_services_storage_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/services/storage.service */ "./src/app/services/storage.service.ts");
|
||||
/* harmony import */ var src_app_config_auth_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! src/app/config/auth-constants */ "./src/app/config/auth-constants.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
let LoginPage = class LoginPage {
|
||||
constructor(router, authService, storageService, toastService, alertController) {
|
||||
this.router = router;
|
||||
this.authService = authService;
|
||||
this.storageService = storageService;
|
||||
this.toastService = toastService;
|
||||
this.alertController = alertController;
|
||||
this.username = src_environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].defaultuser;
|
||||
this.password = src_environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].defaultuserpwd;
|
||||
this.body = { "user": this.username, "password": this.password };
|
||||
this.postData = { "user": "admin", "password": this.password };
|
||||
}
|
||||
ngOnInit() {
|
||||
}
|
||||
/* Function to validade the login inputs */
|
||||
validateInput() {
|
||||
return (this.username.trim().length > 0
|
||||
&& this.password.trim().length > 0);
|
||||
}
|
||||
presentAlert(message) {
|
||||
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
|
||||
const alert = yield this.alertController.create({
|
||||
cssClass: 'my-custom-class',
|
||||
header: 'Mensagem do sistema',
|
||||
message: message,
|
||||
buttons: ['OK']
|
||||
});
|
||||
yield alert.present();
|
||||
});
|
||||
}
|
||||
loginAction() {
|
||||
if (this.validateInput()) {
|
||||
this.authService.loginChat2(this.postData).subscribe((res) => {
|
||||
if (res.data) {
|
||||
this.storageService.store(src_app_config_auth_constants__WEBPACK_IMPORTED_MODULE_8__["AuthConnstants"].AUTH, res.data);
|
||||
console.log('Log RockectChat OK');
|
||||
console.log(res.data);
|
||||
}
|
||||
else {
|
||||
console.log("Invalid username or password!");
|
||||
}
|
||||
}, (error) => {
|
||||
console.log('Network error');
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');
|
||||
}
|
||||
}
|
||||
Login() {
|
||||
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
|
||||
try {
|
||||
//Go to our home in home/feed.
|
||||
if (this.validateInput()) {
|
||||
this.userattempt = {
|
||||
username: this.username,
|
||||
password: this.password,
|
||||
domainName: src_environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].domain,
|
||||
BasicAuthKey: ""
|
||||
};
|
||||
if (yield this.authService.login(this.userattempt)) {
|
||||
this.loginAction();
|
||||
console.log('Log Gabinete Digital OK');
|
||||
this.router.navigate(['/home/events']);
|
||||
}
|
||||
else {
|
||||
/* this.toastService.presentToast('Não foi possível fazer login"'); */
|
||||
this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.');
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* this.toastService.presentToast('Preencha todos campos'); */
|
||||
this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema.');
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
LoginPage.ctorParameters = () => [
|
||||
{ type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"] },
|
||||
{ type: src_app_services_auth_service__WEBPACK_IMPORTED_MODULE_3__["AuthService"] },
|
||||
{ type: src_app_services_storage_service__WEBPACK_IMPORTED_MODULE_7__["StorageService"] },
|
||||
{ type: src_app_services_toast_service__WEBPACK_IMPORTED_MODULE_4__["ToastService"] },
|
||||
{ type: _ionic_angular__WEBPACK_IMPORTED_MODULE_6__["AlertController"] }
|
||||
];
|
||||
LoginPage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
|
||||
selector: 'app-login',
|
||||
template: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! raw-loader!./login.page.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/pages/login/login.page.html")).default,
|
||||
styles: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"])(__webpack_require__(/*! ./login.page.scss */ "./src/app/pages/login/login.page.scss")).default]
|
||||
})
|
||||
], LoginPage);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/app/services/toast.service.ts":
|
||||
/*!*******************************************!*\
|
||||
!*** ./src/app/services/toast.service.ts ***!
|
||||
\*******************************************/
|
||||
/*! exports provided: ToastService */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ToastService", function() { return ToastService; });
|
||||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js");
|
||||
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js");
|
||||
|
||||
|
||||
|
||||
let ToastService = class ToastService {
|
||||
constructor(toastController) {
|
||||
this.toastController = toastController;
|
||||
}
|
||||
presentToast(infoMessage) {
|
||||
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () {
|
||||
const toast = yield this.toastController.create({
|
||||
message: infoMessage,
|
||||
duration: 2000
|
||||
});
|
||||
toast.present();
|
||||
});
|
||||
}
|
||||
};
|
||||
ToastService.ctorParameters = () => [
|
||||
{ type: _ionic_angular__WEBPACK_IMPORTED_MODULE_2__["ToastController"] }
|
||||
];
|
||||
ToastService = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
|
||||
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
|
||||
providedIn: 'root'
|
||||
})
|
||||
], ToastService);
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=pages-login-login-module.js.map
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,224 +0,0 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ function webpackJsonpCallback(data) {
|
||||
/******/ var chunkIds = data[0];
|
||||
/******/ var moreModules = data[1];
|
||||
/******/ var executeModules = data[2];
|
||||
/******/
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||
/******/ resolves.push(installedChunks[chunkId][0]);
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||||
/******/ modules[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
||||
/******/
|
||||
/******/ while(resolves.length) {
|
||||
/******/ resolves.shift()();
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // add entry modules from loaded chunk to deferred list
|
||||
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
||||
/******/
|
||||
/******/ // run deferred modules when all chunks ready
|
||||
/******/ return checkDeferredModules();
|
||||
/******/ };
|
||||
/******/ function checkDeferredModules() {
|
||||
/******/ var result;
|
||||
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
||||
/******/ var deferredModule = deferredModules[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
||||
/******/ var depId = deferredModule[j];
|
||||
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferredModules.splice(i--, 1);
|
||||
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ return result;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // Promise = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "runtime": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ var deferredModules = [];
|
||||
/******/
|
||||
/******/ // script path function
|
||||
/******/ function jsonpScriptSrc(chunkId) {
|
||||
/******/ return __webpack_require__.p + "" + ({"common":"common","default~home-home-module~pages-chat-chat-module~pages-login-login-module":"default~home-home-module~pages-chat-chat-module~pages-login-login-module","home-home-module":"home-home-module","pages-chat-chat-module":"pages-chat-chat-module","index-index-module":"index-index-module","polyfills-core-js":"polyfills-core-js","polyfills-css-shim":"polyfills-css-shim","polyfills-dom":"polyfills-dom","shadow-css-fc98efba-js":"shadow-css-fc98efba-js","swiper-bundle-95afeea2-js":"swiper-bundle-95afeea2-js","focus-visible-15ada7f7-js":"focus-visible-15ada7f7-js","input-shims-b956f530-js":"input-shims-b956f530-js","keyboard-dd970efc-js":"keyboard-dd970efc-js","status-tap-a9bf301d-js":"status-tap-a9bf301d-js","swipe-back-0a6a44c8-js":"swipe-back-0a6a44c8-js","tap-click-252af35a-js":"tap-click-252af35a-js","event-list-event-list-module":"event-list-event-list-module","expediente-detail-expediente-detail-module":"expediente-detail-expediente-detail-module","pages-events-events-module":"pages-events-events-module","pages-gabinete-digital-gabinete-digital-module":"pages-gabinete-digital-gabinete-digital-module","default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b":"default~attachments-attachments-module~event-detail-event-detail-module~pages-events-event-detail-ev~f3bcdd0b","attachments-attachments-module":"attachments-attachments-module","default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5":"default~attendees-attendees-module~event-detail-event-detail-module~pages-agenda-agenda-module~pages~2e9e46f5","attendees-attendees-module":"attendees-attendees-module","default~event-detail-event-detail-module~pages-events-event-detail-event-detail-module":"default~event-detail-event-detail-module~pages-events-event-detail-event-detail-module","default~expediente-expediente-module~pages-agenda-agenda-module":"default~expediente-expediente-module~pages-agenda-agenda-module","pages-agenda-agenda-module":"pages-agenda-agenda-module","expediente-expediente-module":"expediente-expediente-module","pages-login-login-module":"pages-login-login-module","pages-search-search-module":"pages-search-search-module","conversation-conversation-module":"conversation-conversation-module","newchat-newchat-module":"newchat-newchat-module","attendee-modal-attendee-modal-module":"attendee-modal-attendee-modal-module","event-list-pr-event-list-pr-module":"event-list-pr-event-list-pr-module","approve-event-modal-approve-event-modal-module":"approve-event-modal-approve-event-modal-module"}[chunkId]||chunkId) + ".js"
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // This file contains only the entry chunk.
|
||||
/******/ // The chunk loading function for additional chunks
|
||||
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
|
||||
/******/ var promises = [];
|
||||
/******/
|
||||
/******/
|
||||
/******/ // JSONP chunk loading for javascript
|
||||
/******/
|
||||
/******/ var installedChunkData = installedChunks[chunkId];
|
||||
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
|
||||
/******/
|
||||
/******/ // a Promise means "currently loading".
|
||||
/******/ if(installedChunkData) {
|
||||
/******/ promises.push(installedChunkData[2]);
|
||||
/******/ } else {
|
||||
/******/ // setup Promise in chunk cache
|
||||
/******/ var promise = new Promise(function(resolve, reject) {
|
||||
/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
|
||||
/******/ });
|
||||
/******/ promises.push(installedChunkData[2] = promise);
|
||||
/******/
|
||||
/******/ // start chunk loading
|
||||
/******/ var script = document.createElement('script');
|
||||
/******/ var onScriptComplete;
|
||||
/******/
|
||||
/******/ script.charset = 'utf-8';
|
||||
/******/ script.timeout = 120;
|
||||
/******/ if (__webpack_require__.nc) {
|
||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||
/******/ }
|
||||
/******/ script.src = jsonpScriptSrc(chunkId);
|
||||
/******/
|
||||
/******/ // create error before stack unwound to get useful stacktrace later
|
||||
/******/ var error = new Error();
|
||||
/******/ onScriptComplete = function (event) {
|
||||
/******/ // avoid mem leaks in IE.
|
||||
/******/ script.onerror = script.onload = null;
|
||||
/******/ clearTimeout(timeout);
|
||||
/******/ var chunk = installedChunks[chunkId];
|
||||
/******/ if(chunk !== 0) {
|
||||
/******/ if(chunk) {
|
||||
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
|
||||
/******/ var realSrc = event && event.target && event.target.src;
|
||||
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
|
||||
/******/ error.name = 'ChunkLoadError';
|
||||
/******/ error.type = errorType;
|
||||
/******/ error.request = realSrc;
|
||||
/******/ chunk[1](error);
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = undefined;
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/ var timeout = setTimeout(function(){
|
||||
/******/ onScriptComplete({ type: 'timeout', target: script });
|
||||
/******/ }, 120000);
|
||||
/******/ script.onerror = script.onload = onScriptComplete;
|
||||
/******/ document.head.appendChild(script);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return Promise.all(promises);
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // on error function for async loading
|
||||
/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
|
||||
/******/
|
||||
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
|
||||
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||||
/******/ jsonpArray.push = webpackJsonpCallback;
|
||||
/******/ jsonpArray = jsonpArray.slice();
|
||||
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
||||
/******/ var parentJsonpFunction = oldJsonpFunction;
|
||||
/******/
|
||||
/******/
|
||||
/******/ // run deferred modules from other chunks
|
||||
/******/ checkDeferredModules();
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([]);
|
||||
//# sourceMappingURL=runtime.js.map
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,71 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["swipe-back-0a6a44c8-js"],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/swipe-back-0a6a44c8.js":
|
||||
/*!******************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/swipe-back-0a6a44c8.js ***!
|
||||
\******************************************************************/
|
||||
/*! exports provided: createSwipeBackGesture */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createSwipeBackGesture", function() { return createSwipeBackGesture; });
|
||||
/* harmony import */ var _helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers-5c745fbd.js */ "./node_modules/@ionic/core/dist/esm/helpers-5c745fbd.js");
|
||||
/* harmony import */ var _gesture_controller_89173521_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gesture-controller-89173521.js */ "./node_modules/@ionic/core/dist/esm/gesture-controller-89173521.js");
|
||||
/* harmony import */ var _index_eea61379_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-eea61379.js */ "./node_modules/@ionic/core/dist/esm/index-eea61379.js");
|
||||
|
||||
|
||||
|
||||
|
||||
const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
|
||||
const win = el.ownerDocument.defaultView;
|
||||
const canStart = (detail) => {
|
||||
return detail.startX <= 50 && canStartHandler();
|
||||
};
|
||||
const onMove = (detail) => {
|
||||
// set the transition animation's progress
|
||||
const delta = detail.deltaX;
|
||||
const stepValue = delta / win.innerWidth;
|
||||
onMoveHandler(stepValue);
|
||||
};
|
||||
const onEnd = (detail) => {
|
||||
// the swipe back gesture has ended
|
||||
const delta = detail.deltaX;
|
||||
const width = win.innerWidth;
|
||||
const stepValue = delta / width;
|
||||
const velocity = detail.velocityX;
|
||||
const z = width / 2.0;
|
||||
const shouldComplete = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
|
||||
const missing = shouldComplete ? 1 - stepValue : stepValue;
|
||||
const missingDistance = missing * width;
|
||||
let realDur = 0;
|
||||
if (missingDistance > 5) {
|
||||
const dur = missingDistance / Math.abs(velocity);
|
||||
realDur = Math.min(dur, 540);
|
||||
}
|
||||
/**
|
||||
* TODO: stepValue can sometimes return negative values
|
||||
* or values greater than 1 which should not be possible.
|
||||
* Need to investigate more to find where the issue is.
|
||||
*/
|
||||
onEndHandler(shouldComplete, (stepValue <= 0) ? 0.01 : Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["c"])(0, stepValue, 0.9999), realDur);
|
||||
};
|
||||
return Object(_index_eea61379_js__WEBPACK_IMPORTED_MODULE_2__["createGesture"])({
|
||||
el,
|
||||
gestureName: 'goback-swipe',
|
||||
gesturePriority: 40,
|
||||
threshold: 10,
|
||||
canStart,
|
||||
onStart: onStartHandler,
|
||||
onMove,
|
||||
onEnd
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=swipe-back-0a6a44c8-js.js.map
|
||||
@@ -1,186 +0,0 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["tap-click-252af35a-js"],{
|
||||
|
||||
/***/ "./node_modules/@ionic/core/dist/esm/tap-click-252af35a.js":
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/@ionic/core/dist/esm/tap-click-252af35a.js ***!
|
||||
\*****************************************************************/
|
||||
/*! exports provided: startTapClick */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startTapClick", function() { return startTapClick; });
|
||||
/* harmony import */ var _helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers-5c745fbd.js */ "./node_modules/@ionic/core/dist/esm/helpers-5c745fbd.js");
|
||||
|
||||
|
||||
const startTapClick = (config) => {
|
||||
let lastTouch = -MOUSE_WAIT * 10;
|
||||
let lastActivated = 0;
|
||||
let scrollingEl;
|
||||
let activatableEle;
|
||||
let activeRipple;
|
||||
let activeDefer;
|
||||
const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
|
||||
const clearDefers = new WeakMap();
|
||||
const isScrolling = () => {
|
||||
return scrollingEl !== undefined && scrollingEl.parentElement !== null;
|
||||
};
|
||||
// Touch Events
|
||||
const onTouchStart = (ev) => {
|
||||
lastTouch = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["n"])(ev);
|
||||
pointerDown(ev);
|
||||
};
|
||||
const onTouchEnd = (ev) => {
|
||||
lastTouch = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["n"])(ev);
|
||||
pointerUp(ev);
|
||||
};
|
||||
const onMouseDown = (ev) => {
|
||||
const t = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["n"])(ev) - MOUSE_WAIT;
|
||||
if (lastTouch < t) {
|
||||
pointerDown(ev);
|
||||
}
|
||||
};
|
||||
const onMouseUp = (ev) => {
|
||||
const t = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["n"])(ev) - MOUSE_WAIT;
|
||||
if (lastTouch < t) {
|
||||
pointerUp(ev);
|
||||
}
|
||||
};
|
||||
const cancelActive = () => {
|
||||
clearTimeout(activeDefer);
|
||||
activeDefer = undefined;
|
||||
if (activatableEle) {
|
||||
removeActivated(false);
|
||||
activatableEle = undefined;
|
||||
}
|
||||
};
|
||||
const pointerDown = (ev) => {
|
||||
if (activatableEle || isScrolling()) {
|
||||
return;
|
||||
}
|
||||
scrollingEl = undefined;
|
||||
setActivatedElement(getActivatableTarget(ev), ev);
|
||||
};
|
||||
const pointerUp = (ev) => {
|
||||
setActivatedElement(undefined, ev);
|
||||
};
|
||||
const setActivatedElement = (el, ev) => {
|
||||
// do nothing
|
||||
if (el && el === activatableEle) {
|
||||
return;
|
||||
}
|
||||
clearTimeout(activeDefer);
|
||||
activeDefer = undefined;
|
||||
const { x, y } = Object(_helpers_5c745fbd_js__WEBPACK_IMPORTED_MODULE_0__["p"])(ev);
|
||||
// deactivate selected
|
||||
if (activatableEle) {
|
||||
if (clearDefers.has(activatableEle)) {
|
||||
throw new Error('internal error');
|
||||
}
|
||||
if (!activatableEle.classList.contains(ACTIVATED)) {
|
||||
addActivated(activatableEle, x, y);
|
||||
}
|
||||
removeActivated(true);
|
||||
}
|
||||
// activate
|
||||
if (el) {
|
||||
const deferId = clearDefers.get(el);
|
||||
if (deferId) {
|
||||
clearTimeout(deferId);
|
||||
clearDefers.delete(el);
|
||||
}
|
||||
const delay = isInstant(el) ? 0 : ADD_ACTIVATED_DEFERS;
|
||||
el.classList.remove(ACTIVATED);
|
||||
activeDefer = setTimeout(() => {
|
||||
addActivated(el, x, y);
|
||||
activeDefer = undefined;
|
||||
}, delay);
|
||||
}
|
||||
activatableEle = el;
|
||||
};
|
||||
const addActivated = (el, x, y) => {
|
||||
lastActivated = Date.now();
|
||||
el.classList.add(ACTIVATED);
|
||||
const rippleEffect = useRippleEffect && getRippleEffect(el);
|
||||
if (rippleEffect && rippleEffect.addRipple) {
|
||||
removeRipple();
|
||||
activeRipple = rippleEffect.addRipple(x, y);
|
||||
}
|
||||
};
|
||||
const removeRipple = () => {
|
||||
if (activeRipple !== undefined) {
|
||||
activeRipple.then(remove => remove());
|
||||
activeRipple = undefined;
|
||||
}
|
||||
};
|
||||
const removeActivated = (smooth) => {
|
||||
removeRipple();
|
||||
const active = activatableEle;
|
||||
if (!active) {
|
||||
return;
|
||||
}
|
||||
const time = CLEAR_STATE_DEFERS - Date.now() + lastActivated;
|
||||
if (smooth && time > 0 && !isInstant(active)) {
|
||||
const deferId = setTimeout(() => {
|
||||
active.classList.remove(ACTIVATED);
|
||||
clearDefers.delete(active);
|
||||
}, CLEAR_STATE_DEFERS);
|
||||
clearDefers.set(active, deferId);
|
||||
}
|
||||
else {
|
||||
active.classList.remove(ACTIVATED);
|
||||
}
|
||||
};
|
||||
const doc = document;
|
||||
doc.addEventListener('ionScrollStart', ev => {
|
||||
scrollingEl = ev.target;
|
||||
cancelActive();
|
||||
});
|
||||
doc.addEventListener('ionScrollEnd', () => {
|
||||
scrollingEl = undefined;
|
||||
});
|
||||
doc.addEventListener('ionGestureCaptured', cancelActive);
|
||||
doc.addEventListener('touchstart', onTouchStart, true);
|
||||
doc.addEventListener('touchcancel', onTouchEnd, true);
|
||||
doc.addEventListener('touchend', onTouchEnd, true);
|
||||
doc.addEventListener('mousedown', onMouseDown, true);
|
||||
doc.addEventListener('mouseup', onMouseUp, true);
|
||||
};
|
||||
const getActivatableTarget = (ev) => {
|
||||
if (ev.composedPath) {
|
||||
const path = ev.composedPath();
|
||||
for (let i = 0; i < path.length - 2; i++) {
|
||||
const el = path[i];
|
||||
if (el.classList && el.classList.contains('ion-activatable')) {
|
||||
return el;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
return ev.target.closest('.ion-activatable');
|
||||
}
|
||||
};
|
||||
const isInstant = (el) => {
|
||||
return el.classList.contains('ion-activatable-instant');
|
||||
};
|
||||
const getRippleEffect = (el) => {
|
||||
if (el.shadowRoot) {
|
||||
const ripple = el.shadowRoot.querySelector('ion-ripple-effect');
|
||||
if (ripple) {
|
||||
return ripple;
|
||||
}
|
||||
}
|
||||
return el.querySelector('ion-ripple-effect');
|
||||
};
|
||||
const ACTIVATED = 'ion-activated';
|
||||
const ADD_ACTIVATED_DEFERS = 200;
|
||||
const CLEAR_STATE_DEFERS = 200;
|
||||
const MOUSE_WAIT = 2500;
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=tap-click-252af35a-js.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="./skins/ui/oxide/skin.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="./skins/content/default/content.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<textarea id="editor" placeholder="text area"></textarea>
|
||||
<script src="./tinymce.min.js"></script>
|
||||
<script>
|
||||
tinymce.init({
|
||||
selector: '#editor',
|
||||
toolbar: 'undo redo | bold italic | alignleft aligncenter alignright',
|
||||
height: 500,
|
||||
plugins: [
|
||||
'a11ychecker','advlist','advcode','advtable','autolink','checklist','export',
|
||||
'lists','link','image','charmap','preview','anchor','searchreplace','visualblocks',
|
||||
'powerpaste','fullscreen','formatpainter','insertdatetime','media','table','help','wordcount'
|
||||
],
|
||||
toolbar:
|
||||
'undo redo | casechange blocks | bold italic backcolor | \
|
||||
alignleft aligncenter alignright alignjustify | \
|
||||
bullist numlist checklist outdent indent | removeformat | a11ycheck code table help'
|
||||
// Configure TinyMCE options
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=(t,e,s)=>{const r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===s?null:{"list-style-type":s})},s=t=>e=>e.options.get(t),r=s("advlist_number_styles"),n=s("advlist_bullet_styles"),i=t=>null==t,l=t=>!i(t);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return l(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=t=>e=>l(e)&&t.test(e.nodeName),d=u(/^(OL|UL|DL)$/),g=u(/^(TH|TD)$/),c=t=>i(t)||"default"===t?"":t,h=(t,e)=>s=>((t,e)=>{const s=t.selection.getNode();return e({parents:t.dom.getParents(s),element:s}),t.on("NodeChange",e),()=>t.off("NodeChange",e)})(t,(r=>((t,r)=>{const n=t.selection.getStart(!0);s.setActive(((t,e,s)=>((t,e,s)=>{for(let e=0,n=t.length;e<n;e++){const n=t[e];if(d(r=n)&&!/\btox\-/.test(r.className))return a.some(n);if(s(n,e))break}var r;return a.none()})(e,0,g).exists((e=>e.nodeName===s&&((t,e)=>t.dom.isChildOf(e,t.getBody()))(t,e))))(t,r,e)),s.setEnabled(!((t,e)=>{const s=t.dom.getParent(e,"ol,ul,dl");return((t,e)=>null!==e&&!t.dom.isEditable(e))(t,s)&&t.selection.isEditable()})(t,n)&&t.selection.isEditable())})(t,r.parents))),m=(t,s,r,n,i,l)=>{l.length>1?((t,s,r,n,i,l)=>{t.ui.registry.addSplitButton(s,{tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:t=>{t(o.map(l,(t=>{const e="OL"===i?"num":"bull",s="disc"===t||"decimal"===t?"default":t,r=c(t),n=(t=>t.replace(/\-/g," ").replace(/\b\w/g,(t=>t.toUpperCase())))(t);return{type:"choiceitem",value:r,icon:"list-"+e+"-"+s,text:n}})))},onAction:()=>t.execCommand(n),onItemAction:(s,r)=>{e(t,i,r)},select:e=>{const s=(t=>{const e=t.dom.getParent(t.selection.getNode(),"ol,ul"),s=t.dom.getStyle(e,"listStyleType");return a.from(s)})(t);return s.map((t=>e===t)).getOr(!1)},onSetup:h(t,i)})})(t,s,r,n,i,l):((t,s,r,n,i,l)=>{t.ui.registry.addToggleButton(s,{active:!1,tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",onSetup:h(t,i),onAction:()=>t.queryCommandState(n)||""===l?t.execCommand(n):e(t,i,l)})})(t,s,r,n,i,c(l[0]))};t.add("advlist",(t=>{t.hasPlugin("lists")?((t=>{const e=t.options.register;e("advlist_number_styles",{processor:"string[]",default:"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman".split(",")}),e("advlist_bullet_styles",{processor:"string[]",default:"default,circle,square".split(",")})})(t),(t=>{m(t,"numlist","Numbered list","InsertOrderedList","OL",r(t)),m(t,"bullist","Bullet list","InsertUnorderedList","UL",n(t))})(t),(t=>{t.addCommand("ApplyUnorderedListStyle",((s,r)=>{e(t,"UL",r["list-style-type"])})),t.addCommand("ApplyOrderedListStyle",((s,r)=>{e(t,"OL",r["list-style-type"])}))})(t)):console.error("Please use the Lists plugin together with the Advanced List plugin.")}))}();
|
||||
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())}))})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;o<t.length;o++){const n=t[o];c(n)&&n.attr("contenteditable",e)}},u=e=>t=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",(e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)}))}))}();
|
||||
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),n=t("autolink_pattern"),o=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(a=o.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var n,o,r,a})(e));const l=(void 0,e=>undefined===e);const i=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const f=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,n)=>{for(let o=t-1;o>=0;o--){const t=e.charAt(o);if(!d(t)&&n(t))return o}return-1},m=(e,t)=>{var o;const a=e.schema.getVoidElements(),s=n(e),{dom:i,selection:d}=e;if(null!==i.getParent(d.getNode(),"a[href]"))return null;const m=d.getRng(),k=u(i,(e=>{return i.isBlock(e)||(t=a,n=e.nodeName.toLowerCase(),c.call(t,n))||"false"===i.getContentEditable(e);var t,n})),{container:p,offset:y}=((e,t)=>{let n=e,o=t;for(;1===n.nodeType&&n.childNodes[o];)n=n.childNodes[o],o=3===n.nodeType?n.data.length:n.childNodes.length;return{container:n,offset:o}})(m.endContainer,m.endOffset),w=null!==(o=i.getParent(p,i.isBlock))&&void 0!==o?o:i.getRoot(),h=k.backwards(p,y+t,((e,t)=>{const n=e.data,o=g(n,t,(r=f,e=>!r(e)));var r,a;return-1===o||(a=n[o],/[?!,.;:]/.test(a))?o:o+1}),w);if(!h)return null;let v=h.container;const _=k.backwards(h.container,h.offset,((e,t)=>{v=e;const n=g(e.data,t,f);return-1===n?n:n+1}),w),A=i.createRng();_?A.setStart(_.container,_.offset):A.setStart(v,0),A.setEnd(h.container,h.offset);const C=A.toString().replace(/\uFEFF/g,"").match(s);if(C){let t=C[0];return $="www.",(b=t).length>=4&&b.substr(0,4)===$?t=r(e)+"://"+t:((e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!l(o)||r+t.length<=o)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:A,url:t}}var b,$;return null},k=(e,t)=>{const{dom:n,selection:r}=e,{rng:l,url:i}=t,c=r.getBookmark();r.setRng(l);const d="createlink",u={command:d,ui:!1,value:i};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,i),e.dispatch("ExecCommand",u);const t=o(e);if(s(t)){const o=r.getNode();n.setAttrib(o,"target",t),"_blank"!==t||a(e)||n.setAttrib(o,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},p=e=>{const t=m(e,-1);i(t)&&k(e,t)},y=p;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=m(e,0);i(t)&&k(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?p(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}();
|
||||
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env");const o=e=>t=>t.options.get(e),s=o("min_height"),i=o("max_height"),n=o("autoresize_overflow_padding"),r=o("autoresize_bottom_margin"),l=(e,t)=>{const o=e.getBody();o&&(o.style.overflowY=t?"":"hidden",t||(o.scrollTop=0))},g=(e,t,o,s)=>{var i;const n=parseInt(null!==(i=e.getStyle(t,o,s))&&void 0!==i?i:"",10);return isNaN(n)?0:n},a=(e,o,r,c)=>{var d;const f=e.dom,u=e.getDoc();if(!u)return;if((e=>e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen())(e))return void l(e,!0);const m=u.documentElement,h=c?c():n(e),p=null!==(d=s(e))&&void 0!==d?d:e.getElement().offsetHeight;let y=p;const S=g(f,m,"margin-top",!0),v=g(f,m,"margin-bottom",!0);let C=m.offsetHeight+S+v+h;C<0&&(C=0);const b=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;C+b>p&&(y=C+b);const w=i(e);if(w&&y>w?(y=w,l(e,!0)):l(e,!1),y!==o.get()){const s=y-o.get();if(f.setStyle(e.getContainer(),"height",y+"px"),o.set(y),(e=>{e.dispatch("ResizeEditor")})(e),t.browser.isSafari()&&(t.os.isMacOS()||t.os.isiOS())){const t=e.getWin();t.scrollTo(t.pageXOffset,t.pageYOffset)}e.hasFocus()&&(e=>{if("setcontent"===(null==e?void 0:e.type.toLowerCase())){const t=e;return!0===t.selection||!0===t.paste}return!1})(r)&&e.selection.scrollIntoView(),(t.browser.isSafari()||t.browser.isChromium())&&s<0&&a(e,o,r,c)}};e.add("autoresize",(e=>{if((e=>{const t=e.options.register;t("autoresize_overflow_padding",{processor:"number",default:1}),t("autoresize_bottom_margin",{processor:"number",default:50})})(e),e.options.isSet("resize")||e.options.set("resize",!1),!e.inline){const o=(e=>{let t=0;return{get:()=>t,set:e=>{t=e}}})();((e,t)=>{e.addCommand("mceAutoResize",(()=>{a(e,t)}))})(e,o),((e,o)=>{let s,i,l=()=>r(e);e.on("init",(i=>{s=0;const r=n(e),g=e.dom;g.setStyles(e.getDoc().documentElement,{height:"auto"}),t.browser.isEdge()||t.browser.isIE()?g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r,"min-height":0}):g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r}),a(e,o,i,l),s+=1})),e.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",(t=>{if(1===s)i=e.getContainer().offsetHeight,a(e,o,t,l),s+=1;else if(2===s){const t=i<e.getContainer().offsetHeight;if(t){const t=e.dom,o=e.getDoc();t.setStyles(o.documentElement,{"min-height":0}),t.setStyles(e.getBody(),{"min-height":"inherit"})}l=t?(0,()=>0):l,s+=1}else a(e,o,t,l)}))})(e,o)}}))}();
|
||||
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=("string",t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(r=o=t,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":e;var r,o,a,s})(t));const r=(void 0,t=>undefined===t);var o=tinymce.util.Tools.resolve("tinymce.util.Delay"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),s=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=t=>{const e=/^(\d+)([ms]?)$/.exec(t);return(e&&e[2]?{s:1e3,m:6e4}[e[2]]:1)*parseInt(t,10)},i=t=>e=>e.options.get(t),u=i("autosave_ask_before_unload"),l=i("autosave_restore_when_empty"),c=i("autosave_interval"),d=i("autosave_retention"),m=t=>{const e=document.location;return t.options.get("autosave_prefix").replace(/{path}/g,e.pathname).replace(/{query}/g,e.search).replace(/{hash}/g,e.hash).replace(/{id}/g,t.id)},v=(t,e)=>{if(r(e))return t.dom.isEmpty(t.getBody());{const r=s.trim(e);if(""===r)return!0;{const e=(new DOMParser).parseFromString(r,"text/html");return t.dom.isEmpty(e)}}},f=t=>{var e;const r=parseInt(null!==(e=a.getItem(m(t)+"time"))&&void 0!==e?e:"0",10)||0;return!((new Date).getTime()-r>d(t)&&(p(t,!1),1))},p=(t,e)=>{const r=m(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&(t=>{t.dispatch("RemoveDraft")})(t)},g=t=>{const e=m(t);!v(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),(t=>{t.dispatch("StoreDraft")})(t))},y=t=>{var e;const r=m(t);f(t)&&(t.setContent(null!==(e=a.getItem(r+"draft"))&&void 0!==e?e:"",{format:"raw"}),(t=>{t.dispatch("RestoreDraft")})(t))};var D=tinymce.util.Tools.resolve("tinymce.EditorManager");const h=t=>e=>{e.setEnabled(f(t));const r=()=>e.setEnabled(f(t));return t.on("StoreDraft RestoreDraft RemoveDraft",r),()=>t.off("StoreDraft RestoreDraft RemoveDraft",r)};t.add("autosave",(t=>((t=>{const r=t.options.register,o=t=>{const r=e(t);return r?{value:n(t),valid:r}:{valid:!1,message:"Must be a string."}};r("autosave_ask_before_unload",{processor:"boolean",default:!0}),r("autosave_prefix",{processor:"string",default:"tinymce-autosave-{path}{query}{hash}-{id}-"}),r("autosave_restore_when_empty",{processor:"boolean",default:!1}),r("autosave_interval",{processor:o,default:"30s"}),r("autosave_retention",{processor:o,default:"20m"})})(t),(t=>{t.editorManager.on("BeforeUnload",(t=>{let e;s.each(D.get(),(t=>{t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&u(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))})),e&&(t.preventDefault(),t.returnValue=e)}))})(t),(t=>{(t=>{const e=c(t);o.setEditorInterval(t,(()=>{g(t)}),e)})(t);const e=()=>{(t=>{t.undoManager.transact((()=>{y(t),p(t)})),t.focus()})(t)};t.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)}),t.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)})})(t),t.on("init",(()=>{l(t)&&t.dom.isEmpty(t.getBody())&&y(t)})),(t=>({hasDraft:()=>f(t),storeDraft:()=>g(t),restoreDraft:()=>y(t),removeDraft:e=>p(t,e),isEmpty:e=>v(t,e)}))(t))))}();
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}();
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* TinyMCE version 6.5.1 (2023-06-19)
|
||||
*/
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>typeof e===t,o=t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(o=r=t,(n=String).prototype.isPrototypeOf(o)||(null===(i=r.constructor)||void 0===i?void 0:i.name)===n.name)?"string":e;var o,r,n,i})(t),r=e("boolean"),n=t=>!(t=>null==t)(t),i=e("function"),s=e("number"),l=(!1,()=>false);class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return n(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=(t,e)=>{for(let o=0,r=t.length;o<r;o++)e(t[o],o)},c=t=>{if(null==t)throw new Error("Node cannot be null or undefined");return{dom:t}},d=c,h=(t,e)=>{const o=t.dom;if(1!==o.nodeType)return!1;{const t=o;if(void 0!==t.matches)return t.matches(e);if(void 0!==t.msMatchesSelector)return t.msMatchesSelector(e);if(void 0!==t.webkitMatchesSelector)return t.webkitMatchesSelector(e);if(void 0!==t.mozMatchesSelector)return t.mozMatchesSelector(e);throw new Error("Browser lacks native selectors")}};"undefined"!=typeof window?window:Function("return this;")();const m=t=>e=>(t=>t.dom.nodeType)(e)===t,g=m(1),f=m(3),v=m(9),y=m(11),p=(t,e)=>{t.dom.removeAttribute(e)},w=i(Element.prototype.attachShadow)&&i(Node.prototype.getRootNode)?t=>d(t.dom.getRootNode()):t=>v(t)?t:d(t.dom.ownerDocument),b=t=>d(t.dom.host),N=t=>{const e=f(t)?t.dom.parentNode:t.dom;if(null==e||null===e.ownerDocument)return!1;const o=e.ownerDocument;return(t=>{const e=w(t);return y(o=e)&&n(o.dom.host)?a.some(e):a.none();var o})(d(e)).fold((()=>o.body.contains(e)),(r=N,i=b,t=>r(i(t))));var r,i},S=t=>"rtl"===((t,e)=>{const o=t.dom,r=window.getComputedStyle(o).getPropertyValue(e);return""!==r||N(t)?r:((t,e)=>(t=>void 0!==t.style&&i(t.style.getPropertyValue))(t)?t.style.getPropertyValue(e):"")(o,e)})(t,"direction")?"rtl":"ltr",A=(t,e)=>((t,o)=>((t,e)=>{const o=[];for(let r=0,n=t.length;r<n;r++){const n=t[r];e(n,r)&&o.push(n)}return o})(((t,e)=>{const o=t.length,r=new Array(o);for(let n=0;n<o;n++){const o=t[n];r[n]=e(o,n)}return r})(t.dom.childNodes,d),(t=>h(t,e))))(t),E=("li",t=>g(t)&&"li"===t.dom.nodeName.toLowerCase());const T=(t,e,n)=>{u(e,(e=>{const c=d(e),m=E(c),f=((t,e)=>{return(e?(o=t,r="ol,ul",((t,e,o)=>{let n=t.dom;const s=i(o)?o:l;for(;n.parentNode;){n=n.parentNode;const t=d(n);if(h(t,r))return a.some(t);if(s(t))break}return a.none()})(o,0,n)):a.some(t)).getOr(t);var o,r,n})(c,m);var v;(v=f,(t=>a.from(t.dom.parentNode).map(d))(v).filter(g)).each((e=>{if(t.setStyle(f.dom,"direction",null),S(e)===n?p(f,"dir"):((t,e,n)=>{((t,e,n)=>{if(!(o(n)||r(n)||s(n)))throw console.error("Invalid call to Attribute.set. Key ",e,":: Value ",n,":: Element ",t),new Error("Attribute value was not simple");t.setAttribute(e,n+"")})(t.dom,e,n)})(f,"dir",n),S(f)!==n&&t.setStyle(f.dom,"direction",n),m){const e=A(f,"li[dir],li[style]");u(e,(e=>{p(e,"dir"),t.setStyle(e.dom,"direction",null)}))}}))}))},C=(t,e)=>{t.selection.isEditable()&&(T(t.dom,t.selection.getSelectedBlocks(),e),t.nodeChanged())},D=(t,e)=>o=>{const r=r=>{const n=d(r.element);o.setActive(S(n)===e),o.setEnabled(t.selection.isEditable())};return t.on("NodeChange",r),o.setEnabled(t.selection.isEditable()),()=>t.off("NodeChange",r)};t.add("directionality",(t=>{(t=>{t.addCommand("mceDirectionLTR",(()=>{C(t,"ltr")})),t.addCommand("mceDirectionRTL",(()=>{C(t,"rtl")}))})(t),(t=>{t.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:()=>t.execCommand("mceDirectionLTR"),onSetup:D(t,"ltr")}),t.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:()=>t.execCommand("mceDirectionRTL"),onSetup:D(t,"rtl")})})(t)}))}();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.ar',
|
||||
'<h1>بدء التنقل بواسطة لوحة المفاتيح</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>التركيز على شريط القوائم</dt>\n' +
|
||||
' <dd>نظاما التشغيل Windows أو Linux: Alt + F9</dd>\n' +
|
||||
' <dd>نظام التشغيل macOS: ⌥F9</dd>\n' +
|
||||
' <dt>التركيز على شريط الأدوات</dt>\n' +
|
||||
' <dd>نظاما التشغيل Windows أو Linux: Alt + F10</dd>\n' +
|
||||
' <dd>نظام التشغيل macOS: ⌥F10</dd>\n' +
|
||||
' <dt>التركيز على التذييل</dt>\n' +
|
||||
' <dd>نظاما التشغيل Windows أو Linux: Alt + F11</dd>\n' +
|
||||
' <dd>نظام التشغيل macOS: ⌥F11</dd>\n' +
|
||||
' <dt>التركيز على شريط أدوات السياق</dt>\n' +
|
||||
' <dd>أنظمة التشغيل Windows أو Linux أو macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>سيبدأ التنقل عند عنصر واجهة المستخدم الأول، والذي سيتم تمييزه أو تسطيره في حالة العنصر الأول في\n' +
|
||||
' مسار عنصر التذييل.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>التنقل بين أقسام واجهة المستخدم</h1>\n' +
|
||||
'\n' +
|
||||
'<p>للانتقال من أحد أقسام واجهة المستخدم إلى القسم التالي، اضغط على <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>للانتقال من أحد أقسام واجهة المستخدم إلى القسم السابق، اضغط على <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>ترتيب علامات <strong>Tab</strong> لأقسام واجهة المستخدم هذه هو:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>شريط القوائم</li>\n' +
|
||||
' <li>كل مجموعة شريط الأدوات</li>\n' +
|
||||
' <li>الشريط الجانبي</li>\n' +
|
||||
' <li>مسار العنصر في التذييل</li>\n' +
|
||||
' <li>زر تبديل عدد الكلمات في التذييل</li>\n' +
|
||||
' <li>رابط إدراج العلامة التجارية في التذييل</li>\n' +
|
||||
' <li>مؤشر تغيير حجم المحرر في التذييل</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>إذا لم يكن قسم واجهة المستخدم موجودًا، فسيتم تخطيه.</p>\n' +
|
||||
'\n' +
|
||||
'<p>إذا كان التذييل يحتوي على التركيز على التنقل بواسطة لوحة المفاتيح، ولا يوجد شريط جانبي مرئي، فإن الضغط على <strong>Shift+Tab</strong>\n' +
|
||||
' ينقل التركيز إلى مجموعة شريط الأدوات الأولى، وليس الأخيرة.\n' +
|
||||
'\n' +
|
||||
'<h1>التنقل بين أقسام واجهة المستخدم</h1>\n' +
|
||||
'\n' +
|
||||
'<p>للانتقال من أحد عناصر واجهة المستخدم إلى العنصر التالي، اضغط على مفتاح <strong>السهم</strong> المناسب.</p>\n' +
|
||||
'\n' +
|
||||
'<p>مفتاحا السهمين <strong>اليسار</strong> و<strong>اليمين</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>التنقل بين القوائم في شريط القوائم.</li>\n' +
|
||||
' <li>فتح قائمة فرعية في القائمة.</li>\n' +
|
||||
' <li>التنقل بين الأزرار في مجموعة شريط الأدوات.</li>\n' +
|
||||
' <li>التنقل بين العناصر في مسار عنصر التذييل.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>مفتاحا السهمين <strong>لأسفل</strong> و<strong>لأعلى</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>التنقل بين عناصر القائمة في القائمة.</li>\n' +
|
||||
' <li>التنقل بين العناصر في قائمة شريط الأدوات المنبثقة.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>دورة مفاتيح <strong>الأسهم</strong> داخل قسم واجهة المستخدم التي تم التركيز عليها.</p>\n' +
|
||||
'\n' +
|
||||
'<p>لإغلاق قائمة مفتوحة أو قائمة فرعية مفتوحة أو قائمة منبثقة مفتوحة، اضغط على مفتاح <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
'<p>إذا كان التركيز الحالي على "الجزء العلوي" من قسم معين لواجهة المستخدم، فإن الضغط على مفتاح <strong>Esc</strong> يؤدي أيضًا إلى الخروج\n' +
|
||||
' من التنقل بواسطة لوحة المفاتيح بالكامل.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>تنفيذ عنصر قائمة أو زر شريط أدوات</h1>\n' +
|
||||
'\n' +
|
||||
'<p>عندما يتم تمييز عنصر القائمة المطلوب أو زر شريط الأدوات، اضغط على زر <strong>Return</strong>، أو <strong>Enter</strong>،\n' +
|
||||
' أو <strong>مفتاح المسافة</strong> لتنفيذ العنصر.\n' +
|
||||
'\n' +
|
||||
'<h1>التنقل في مربعات الحوار غير المبوبة</h1>\n' +
|
||||
'\n' +
|
||||
'<p>في مربعات الحوار غير المبوبة، يتم التركيز على المكون التفاعلي الأول عند فتح مربع الحوار.</p>\n' +
|
||||
'\n' +
|
||||
'<p>التنقل بين مكونات الحوار التفاعلي بالضغط على زر <strong>Tab</strong> أو <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>التنقل في مربعات الحوار المبوبة</h1>\n' +
|
||||
'\n' +
|
||||
'<p>في مربعات الحوار المبوبة، يتم التركيز على الزر الأول في قائمة علامات التبويب عند فتح مربع الحوار.</p>\n' +
|
||||
'\n' +
|
||||
'<p>التنقل بين المكونات التفاعلية لعلامة التبويب لمربع الحوار هذه بالضغط على زر <strong>Tab</strong> أو\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>التبديل إلى علامة تبويب أخرى لمربع الحوار من خلال التركيز على قائمة علامة التبويب ثم الضغط على زر <strong>السهم</strong> المناسب\n' +
|
||||
' مفتاح للتنقل بين علامات التبويب المتاحة.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.bg_BG',
|
||||
'<h1>Начало на навигацията с клавиатурата</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Фокусиране върху лентата с менюта</dt>\n' +
|
||||
' <dd>Windows или Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Фокусиране върху лентата с инструменти</dt>\n' +
|
||||
' <dd>Windows или Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Фокусиране върху долния колонтитул</dt>\n' +
|
||||
' <dd>Windows или Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Фокусиране върху контекстуалната лента с инструменти</dt>\n' +
|
||||
' <dd>Windows, Linux или macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Навигацията ще започне с първия елемент на ПИ, който ще бъде маркиран или подчертан в случая на първия елемент в\n' +
|
||||
' пътя до елемента в долния колонтитул.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Навигиране между раздели на ПИ</h1>\n' +
|
||||
'\n' +
|
||||
'<p>За да преминете от един раздел на ПИ към следващия, натиснете <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>За да преминете от един раздел на ПИ към предишния, натиснете <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Редът за <strong>обхождане с табулация</strong> на тези раздели на ПИ е:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Лентата с менюта</li>\n' +
|
||||
' <li>Всяка група на лентата с инструменти</li>\n' +
|
||||
' <li>Страничната лента</li>\n' +
|
||||
' <li>Пътят до елемента в долния колонтитул</li>\n' +
|
||||
' <li>Бутонът за превключване на броя на думите в долния колонтитул</li>\n' +
|
||||
' <li>Връзката за търговска марка в долния колонтитул</li>\n' +
|
||||
' <li>Манипулаторът за преоразмеряване на редактора в долния колонтитул</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Ако някой раздел на ПИ липсва, той се пропуска.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Ако долният колонтитул има фокус за навигация с клавиатурата и няма странична лента, натискането на <strong>Shift+Tab</strong>\n' +
|
||||
' премества фокуса към първата група на лентата с инструменти, а не към последната.\n' +
|
||||
'\n' +
|
||||
'<h1>Навигиране в разделите на ПИ</h1>\n' +
|
||||
'\n' +
|
||||
'<p>За да преминете от един елемент на ПИ към следващия, натиснете съответния клавиш със <strong>стрелка</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>С клавишите със стрелка <strong>наляво</strong> и <strong>надясно</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>се придвижвате между менютата в лентата с менюто;</li>\n' +
|
||||
' <li>отваряте подменю в меню;</li>\n' +
|
||||
' <li>се придвижвате между бутоните в група на лентата с инструменти;</li>\n' +
|
||||
' <li>се придвижвате между елементи в пътя до елемент в долния колонтитул.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>С клавишите със стрелка <strong>надолу</strong> и <strong>нагоре</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>се придвижвате между елементите от менюто в дадено меню;</li>\n' +
|
||||
' <li>се придвижвате между елементите в изскачащо меню на лентата с инструменти.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Клавишите със <strong>стрелки</strong> се придвижват в рамките на фокусирания раздел на ПИ.</p>\n' +
|
||||
'\n' +
|
||||
'<p>За да затворите отворено меню, подменю или изскачащо меню, натиснете клавиша <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
'<p>Ако текущият фокус е върху „горната част“ на конкретен раздел на ПИ, натискането на клавиша <strong>Esc</strong> също излиза\n' +
|
||||
' напълно от навигацията с клавиатурата.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Изпълнение на елемент от менюто или бутон от лентата с инструменти</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Когато желаният елемент от менюто или бутон от лентата с инструменти е маркиран, натиснете <strong>Return</strong>, <strong>Enter</strong>\n' +
|
||||
' или <strong>клавиша за интервал</strong>, за да изпълните елемента.\n' +
|
||||
'\n' +
|
||||
'<h1>Навигиране в диалогови прозорци без раздели</h1>\n' +
|
||||
'\n' +
|
||||
'<p>В диалоговите прозорци без раздели първият интерактивен компонент се фокусира, когато се отвори диалоговият прозорец.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Навигирайте между интерактивните компоненти на диалоговия прозорец, като натиснете <strong>Tab</strong> или <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Навигиране в диалогови прозорци с раздели</h1>\n' +
|
||||
'\n' +
|
||||
'<p>В диалоговите прозорци с раздели първият бутон в менюто с раздели се фокусира, когато се отвори диалоговият прозорец.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Навигирайте между интерактивните компоненти на този диалогов раздел, като натиснете <strong>Tab</strong> или\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Превключете към друг диалогов раздел, като фокусирате върху менюто с раздели и след това натиснете съответния клавиш със <strong>стрелка</strong>,\n' +
|
||||
' за да преминете през наличните раздели.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.ca',
|
||||
'<h1>Inici de la navegació amb el teclat</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Enfocar la barra de menús</dt>\n' +
|
||||
' <dd>Windows o Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
" <dt>Enfocar la barra d'eines</dt>\n" +
|
||||
' <dd>Windows o Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Enfocar el peu de pàgina</dt>\n' +
|
||||
' <dd>Windows o Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
" <dt>Enfocar una barra d'eines contextual</dt>\n" +
|
||||
' <dd>Windows, Linux o macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
"<p>La navegació començarà en el primer element de la interfície d'usuari, que es ressaltarà o subratllarà per al primer element a\n" +
|
||||
" la ruta de l'element de peu de pàgina.</p>\n" +
|
||||
'\n' +
|
||||
"<h1>Navegació entre seccions de la interfície d'usuari</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Per desplaçar-vos des d'una secció de la interfície d'usuari a la següent, premeu la tecla <strong>Tab</strong>.</p>\n" +
|
||||
'\n' +
|
||||
"<p>Per desplaçar-vos des d'una secció de la interfície d'usuari a l'anterior, premeu les tecles <strong>Maj+Tab</strong>.</p>\n" +
|
||||
'\n' +
|
||||
"<p>L'ordre en prémer la tecla <strong>Tab</strong> d'aquestes secciones de la interfície d'usuari és:\n" +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Barra de menús</li>\n' +
|
||||
" <li>Cada grup de la barra d'eines</li>\n" +
|
||||
' <li>Barra lateral</li>\n' +
|
||||
" <li>Ruta de l'element del peu de pàgina</li>\n" +
|
||||
' <li>Botó de commutació de recompte de paraules al peu de pàgina</li>\n' +
|
||||
' <li>Enllaç de marca del peu de pàgina</li>\n' +
|
||||
" <li>Control de canvi de mida de l'editor al peu de pàgina</li>\n" +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
"<p>Si no hi ha una secció de la interfície d'usuari, s'ometrà.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Si el peu de pàgina té el focus de navegació del teclat i no hi ha cap barra lateral visible, en prémer <strong>Maj+Tab</strong>\n' +
|
||||
" el focus es mou al primer grup de la barra d'eines, no l'últim.\n" +
|
||||
'\n' +
|
||||
"<h1>Navegació dins de les seccions de la interfície d'usuari</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Per desplaçar-vos des d'un element de la interfície d'usuari al següent, premeu la tecla de <strong>Fletxa</strong> adequada.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Les tecles de fletxa <strong>Esquerra</strong> i <strong>Dreta</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>us permeten desplaçar-vos entre menús de la barra de menús.</li>\n' +
|
||||
' <li>obren un submenú en un menú.</li>\n' +
|
||||
" <li>us permeten desplaçar-vos entre botons d'un grup de la barra d'eines.</li>\n" +
|
||||
" <li>us permeten desplaçar-vos entre elements de la ruta d'elements del peu de pàgina.</li>\n" +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Les tecles de fletxa <strong>Avall</strong> i <strong>Amunt</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
" <li>us permeten desplaçar-vos entre elements de menú d'un menú.</li>\n" +
|
||||
" <li>us permeten desplaçar-vos entre elements d'un menú emergent de la barra d'eines.</li>\n" +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
"<p>Les tecles de <strong>Fletxa</strong> us permeten desplaçar-vos dins de la secció de la interfície d'usuari que té el focus.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Per tancar un menú, un submenú o un menú emergent oberts, premeu la tecla <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
"<p>Si el focus actual es troba a la ‘part superior’ d'una secció específica de la interfície d'usuari, en prémer la tecla <strong>Esc</strong> també es tanca\n" +
|
||||
' completament la navegació amb el teclat.</p>\n' +
|
||||
'\n' +
|
||||
"<h1>Execució d'un element de menú o d'un botó de la barra d'eines</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Quan l'element del menú o el botó de la barra d'eines que desitgeu estigui ressaltat, premeu <strong>Retorn</strong>, <strong>Intro</strong>\n" +
|
||||
" o la <strong>barra d'espai</strong> per executar l'element.\n" +
|
||||
'\n' +
|
||||
'<h1>Navegació per quadres de diàleg sense pestanyes</h1>\n' +
|
||||
'\n' +
|
||||
"<p>En els quadres de diàleg sense pestanyes, el primer component interactiu pren el focus quan s'obre el quadre diàleg.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Premeu la tecla <strong>Tab</strong> o les tecles <strong>Maj+Tab</strong> per desplaçar-vos entre components interactius del quadre de diàleg.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navegació per quadres de diàleg amb pestanyes</h1>\n' +
|
||||
'\n' +
|
||||
"<p>En els quadres de diàleg amb pestanyes, el primer botó del menú de la pestanya pren el focus quan s'obre el quadre diàleg.</p>\n" +
|
||||
'\n' +
|
||||
"<p>Per desplaçar-vos entre components interactius d'aquest quadre de diàleg, premeu la tecla <strong>Tab</strong> o\n" +
|
||||
' les tecles <strong>Maj+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
"<p>Canvieu a la pestanya d'un altre quadre de diàleg, tot enfocant el menú de la pestanya, i després premeu la tecla <strong>Fletxa</strong> adequada\n" +
|
||||
' per canviar entre les pestanyes disponibles.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.cs',
|
||||
'<h1>Začínáme navigovat pomocí klávesnice</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Přejít na řádek nabídek</dt>\n' +
|
||||
' <dd>Windows nebo Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Přejít na panel nástrojů</dt>\n' +
|
||||
' <dd>Windows nebo Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Přejít na zápatí</dt>\n' +
|
||||
' <dd>Windows nebo Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Přejít na kontextový panel nástrojů</dt>\n' +
|
||||
' <dd>Windows, Linux nebo macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Navigace začne u první položky uživatelského rozhraní, která bude zvýrazněna nebo v případě první položky\n' +
|
||||
' cesty k prvku zápatí podtržena.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navigace mezi oddíly uživatelského rozhraní</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Stisknutím klávesy <strong>Tab</strong> se posunete z jednoho oddílu uživatelského rozhraní na další.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Stisknutím kláves <strong>Shift+Tab</strong> se posunete z jednoho oddílu uživatelského rozhraní na předchozí.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Pořadí přepínání mezi oddíly uživatelského rozhraní pomocí klávesy <strong>Tab</strong>:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Řádek nabídek</li>\n' +
|
||||
' <li>Každá skupina panelu nástrojů</li>\n' +
|
||||
' <li>Boční panel</li>\n' +
|
||||
' <li>Cesta k prvku v zápatí.</li>\n' +
|
||||
' <li>Tlačítko přepínače počtu slov v zápatí</li>\n' +
|
||||
' <li>Odkaz na informace o značce v zápatí</li>\n' +
|
||||
' <li>Úchyt pro změnu velikosti editoru v zápatí</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Pokud nějaký oddíl uživatelského rozhraní není přítomen, je přeskočen.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Pokud je zápatí vybrané pro navigaci pomocí klávesnice a není zobrazen žádný boční panel, stisknutím kláves <strong>Shift+Tab</strong>\n' +
|
||||
' přejdete na první skupinu panelu nástrojů, nikoli na poslední.\n' +
|
||||
'\n' +
|
||||
'<h1>Navigace v rámci oddílů uživatelského rozhraní</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Chcete-li se přesunout z jednoho prvku uživatelského rozhraní na další, stiskněte příslušnou klávesu s <strong>šipkou</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Klávesy s šipkou <strong>vlevo</strong> a <strong>vpravo</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>umožňují přesun mezi nabídkami na řádku nabídek;</li>\n' +
|
||||
' <li>otevírají podnabídku nabídky;</li>\n' +
|
||||
' <li>umožňují přesun mezi tlačítky ve skupině panelu nástrojů;</li>\n' +
|
||||
' <li>umožňují přesun mezi položkami cesty prvku v zápatí.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Klávesy se šipkou <strong>dolů</strong> a <strong>nahoru</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>umožňují přesun mezi položkami nabídky;</li>\n' +
|
||||
' <li>umožňují přesun mezi položkami místní nabídky panelu nástrojů.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Šipky</strong> provádí přepínání v rámci vybraného oddílu uživatelského rozhraní.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Chcete-li zavřít otevřenou nabídku, podnabídku nebo místní nabídku, stiskněte klávesu <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
'<p>Pokud je aktuálně vybrána horní část oddílu uživatelského rozhraní, stisknutím klávesy <strong>Esc</strong> zcela ukončíte také\n' +
|
||||
' navigaci pomocí klávesnice.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Provedení příkazu položky nabídky nebo tlačítka panelu nástrojů</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Pokud je zvýrazněna požadovaná položka nabídky nebo tlačítko panelu nástrojů, stisknutím klávesy <strong>Return</strong>, <strong>Enter</strong>\n' +
|
||||
' nebo <strong>mezerníku</strong> provedete příslušný příkaz.\n' +
|
||||
'\n' +
|
||||
'<h1>Navigace v dialogových oknech bez záložek</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Při otevření dialogových oken bez záložek přejdete na první interaktivní komponentu.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Přecházet mezi interaktivními komponentami dialogového okna můžete stisknutím klávesy <strong>Tab</strong> nebo kombinace <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navigace v dialogových oknech se záložkami</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Při otevření dialogových oken se záložkami přejdete na první tlačítko v nabídce záložek.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Přecházet mezi interaktivními komponentami této záložky dialogového okna můžete stisknutím klávesy <strong>Tab</strong> nebo\n' +
|
||||
' kombinace <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Chcete-li přepnout na další záložku dialogového okna, přejděte na nabídku záložek a poté můžete stisknutím požadované <strong>šipky</strong>\n' +
|
||||
' přepínat mezi dostupnými záložkami.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.da',
|
||||
'<h1>Start tastaturnavigation</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Fokuser på menulinjen</dt>\n' +
|
||||
' <dd>Windows eller Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Fokuser på værktøjslinjen</dt>\n' +
|
||||
' <dd>Windows eller Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Fokuser på sidefoden</dt>\n' +
|
||||
' <dd>Windows eller Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Fokuser på kontekstuel værktøjslinje</dt>\n' +
|
||||
' <dd>Windows, Linux eller macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Navigationen starter ved det første UI-element, som fremhæves eller understreges hvad angår det første element i\n' +
|
||||
' sidefodens sti til elementet.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Naviger mellem UI-sektioner</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Gå fra én UI-sektion til den næste ved at trykke på <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Gå fra én UI-sektion til den forrige ved at trykke på <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Tab</strong>-rækkefølgen af disse UI-sektioner er:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Menulinje</li>\n' +
|
||||
' <li>Hver værktøjsgruppe</li>\n' +
|
||||
' <li>Sidepanel</li>\n' +
|
||||
' <li>Sti til elementet i sidefoden</li>\n' +
|
||||
' <li>Til/fra-knap for ordoptælling i sidefoden</li>\n' +
|
||||
' <li>Brandinglink i sidefoden</li>\n' +
|
||||
' <li>Tilpasningshåndtag for editor i sidefoden</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Hvis en UI-sektion ikke er til stede, springes den over.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Hvis sidefoden har fokus til tastaturnavigation, og der ikke er noget synligt sidepanel, kan der trykkes på <strong>Shift+Tab</strong>\n' +
|
||||
' for at flytte fokus til den første værktøjsgruppe, ikke den sidste.\n' +
|
||||
'\n' +
|
||||
'<h1>Naviger inden for UI-sektioner</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Gå fra ét UI-element til det næste ved at trykke på den relevante <strong>piletast</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Venstre</strong> og <strong>højre</strong> piletast</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>flytter mellem menuerne i menulinjen.</li>\n' +
|
||||
' <li>åbner en undermenu i en menu.</li>\n' +
|
||||
' <li>flytter mellem knapperne i en værktøjsgruppe.</li>\n' +
|
||||
' <li>flytter mellem elementer i sidefodens sti til elementet.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Pil <strong>ned</strong> og <strong>op</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>flytter mellem menupunkterne i en menu.</li>\n' +
|
||||
' <li>flytter mellem punkterne i en genvejsmenu i værktøjslinjen.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Piletasterne</strong> kører rundt inden for UI-sektionen, der fokuseres på.</p>\n' +
|
||||
'\n' +
|
||||
'<p>For at lukke en åben menu, en åben undermenu eller en åben genvejsmenu trykkes der på <strong>Esc</strong>-tasten.\n' +
|
||||
'\n' +
|
||||
"<p>Hvis det aktuelle fokus er i 'toppen' af en bestemt UI-sektion, vil tryk på <strong>Esc</strong>-tasten også afslutte\n" +
|
||||
' tastaturnavigationen helt.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Udfør et menupunkt eller en værktøjslinjeknap</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Når det ønskede menupunkt eller den ønskede værktøjslinjeknap er fremhævet, trykkes der på <strong>Retur</strong>, <strong>Enter</strong>\n' +
|
||||
' eller <strong>mellemrumstasten</strong> for at udføre elementet.\n' +
|
||||
'\n' +
|
||||
'<h1>Naviger i ikke-faneopdelte dialogbokse</h1>\n' +
|
||||
'\n' +
|
||||
'<p>I ikke-faneopdelte dialogbokse får den første interaktive komponent fokus, når dialogboksen åbnes.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Naviger mellem interaktive dialogbokskomponenter ved at trykke på <strong>Tab</strong> eller <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Naviger i faneopdelte dialogbokse</h1>\n' +
|
||||
'\n' +
|
||||
'<p>I faneopdelte dialogbokse får den første knap i fanemenuen fokus, når dialogboksen åbnes.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Naviger mellem interaktive komponenter i denne dialogboksfane ved at trykke på <strong>Tab</strong> eller\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Skift til en anden dialogboksfane ved at fokusere på fanemenuen og derefter trykke på den relevante <strong>piletast</strong>\n' +
|
||||
' for at køre igennem de tilgængelige faner.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.de',
|
||||
'<h1>Grundlagen der Tastaturnavigation</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Fokus auf Menüleiste</dt>\n' +
|
||||
' <dd>Windows oder Linux: ALT+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Fokus auf Symbolleiste</dt>\n' +
|
||||
' <dd>Windows oder Linux: ALT+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Fokus auf Fußzeile</dt>\n' +
|
||||
' <dd>Windows oder Linux: ALT+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Fokus auf kontextbezogene Symbolleiste</dt>\n' +
|
||||
' <dd>Windows, Linux oder macOS: STRG+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Die Navigation beginnt beim ersten Benutzeroberflächenelement, welches hervorgehoben ist. Falls sich das erste Element im Pfad der Fußzeile befindet,\n' +
|
||||
' ist es unterstrichen.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Zwischen Abschnitten der Benutzeroberfläche navigieren</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Um von einem Abschnitt der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie <strong>TAB</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Um von einem Abschnitt der Benutzeroberfläche zum vorherigen zu wechseln, drücken Sie <strong>UMSCHALT+TAB</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Die Abschnitte der Benutzeroberfläche haben folgende <strong>TAB</strong>-Reihenfolge:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Menüleiste</li>\n' +
|
||||
' <li>Einzelne Gruppen der Symbolleiste</li>\n' +
|
||||
' <li>Randleiste</li>\n' +
|
||||
' <li>Elementpfad in der Fußzeile</li>\n' +
|
||||
' <li>Umschaltfläche „Wörter zählen“ in der Fußzeile</li>\n' +
|
||||
' <li>Branding-Link in der Fußzeile</li>\n' +
|
||||
' <li>Editor-Ziehpunkt zur Größenänderung in der Fußzeile</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Falls ein Abschnitt der Benutzeroberflächen nicht vorhanden ist, wird er übersprungen.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Wenn in der Fußzeile die Tastaturnavigation fokussiert ist und keine Randleiste angezeigt wird, wechselt der Fokus durch Drücken von <strong>UMSCHALT+TAB</strong>\n' +
|
||||
' zur ersten Gruppe der Symbolleiste, nicht zur letzten.\n' +
|
||||
'\n' +
|
||||
'<h1>Innerhalb von Abschnitten der Benutzeroberfläche navigieren</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Um von einem Element der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie die entsprechende <strong>Pfeiltaste</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Die Pfeiltasten <strong>Links</strong> und <strong>Rechts</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>wechseln zwischen Menüs in der Menüleiste.</li>\n' +
|
||||
' <li>öffnen das Untermenü eines Menüs.</li>\n' +
|
||||
' <li>wechseln zwischen Schaltflächen in einer Gruppe der Symbolleiste.</li>\n' +
|
||||
' <li>wechseln zwischen Elementen im Elementpfad der Fußzeile.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Die Pfeiltasten <strong>Abwärts</strong> und <strong>Aufwärts</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>wechseln zwischen Menüelementen in einem Menü.</li>\n' +
|
||||
' <li>wechseln zwischen Elementen in einem Popupmenü der Symbolleiste.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Die <strong>Pfeiltasten</strong> rotieren innerhalb des fokussierten Abschnitts der Benutzeroberfläche.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Um ein geöffnetes Menü, ein geöffnetes Untermenü oder ein geöffnetes Popupmenü zu schließen, drücken Sie die <strong>ESC</strong>-Taste.\n' +
|
||||
'\n' +
|
||||
'<p>Wenn sich der aktuelle Fokus ganz oben in einem bestimmten Abschnitt der Benutzeroberfläche befindet, wird durch Drücken der <strong>ESC</strong>-Taste auch\n' +
|
||||
' die Tastaturnavigation beendet.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Ein Menüelement oder eine Symbolleistenschaltfläche ausführen</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Wenn das gewünschte Menüelement oder die gewünschte Symbolleistenschaltfläche hervorgehoben ist, drücken Sie <strong>Zurück</strong>, <strong>Eingabe</strong>\n' +
|
||||
' oder die <strong>Leertaste</strong>, um das Element auszuführen.\n' +
|
||||
'\n' +
|
||||
'<h1>In Dialogfeldern ohne Registerkarten navigieren</h1>\n' +
|
||||
'\n' +
|
||||
'<p>In Dialogfeldern ohne Registerkarten ist beim Öffnen eines Dialogfelds die erste interaktive Komponente fokussiert.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Navigieren Sie zwischen den interaktiven Komponenten eines Dialogfelds, indem Sie <strong>TAB</strong> oder <strong>UMSCHALT+TAB</strong> drücken.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>In Dialogfeldern mit Registerkarten navigieren</h1>\n' +
|
||||
'\n' +
|
||||
'<p>In Dialogfeldern mit Registerkarten ist beim Öffnen eines Dialogfelds die erste Schaltfläche eines Registerkartenmenüs fokussiert.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Navigieren Sie zwischen den interaktiven Komponenten auf dieser Registerkarte des Dialogfelds, indem Sie <strong>TAB</strong> oder\n' +
|
||||
' <strong>UMSCHALT+TAB</strong> drücken.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Wechseln Sie zu einer anderen Registerkarte des Dialogfelds, indem Sie den Fokus auf das Registerkartenmenü legen und dann die entsprechende <strong>Pfeiltaste</strong>\n' +
|
||||
' drücken, um durch die verfügbaren Registerkarten zu rotieren.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.el',
|
||||
'<h1>Έναρξη πλοήγησης μέσω πληκτρολογίου</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Εστίαση στη γραμμή μενού</dt>\n' +
|
||||
' <dd>Windows ή Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Εστίαση στη γραμμή εργαλείων</dt>\n' +
|
||||
' <dd>Windows ή Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Εστίαση στο υποσέλιδο</dt>\n' +
|
||||
' <dd>Windows ή Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Εστίαση σε γραμμή εργαλείων βάσει περιεχομένου</dt>\n' +
|
||||
' <dd>Windows, Linux ή macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Η πλοήγηση θα ξεκινήσει από το πρώτο στοιχείο περιβάλλοντος χρήστη, που θα επισημαίνεται ή θα είναι υπογραμμισμένο,\n' +
|
||||
' όπως στην περίπτωση της διαδρομής του στοιχείου Υποσέλιδου.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Πλοήγηση μεταξύ ενοτήτων του περιβάλλοντος χρήστη</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην επόμενη, πιέστε το πλήκτρο <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην προηγούμενη, πιέστε τα πλήκτρα <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Η σειρά <strong>Tab</strong> αυτών των ενοτήτων περιβάλλοντος χρήστη είναι η εξής:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Γραμμή μενού</li>\n' +
|
||||
' <li>Κάθε ομάδα γραμμής εργαλείων</li>\n' +
|
||||
' <li>Πλαϊνή γραμμή</li>\n' +
|
||||
' <li>Διαδρομή στοιχείου στο υποσέλιδο</li>\n' +
|
||||
' <li>Κουμπί εναλλαγής μέτρησης λέξεων στο υποσέλιδο</li>\n' +
|
||||
' <li>Σύνδεσμος επωνυμίας στο υποσέλιδο</li>\n' +
|
||||
' <li>Λαβή αλλαγής μεγέθους προγράμματος επεξεργασίας στο υποσέλιδο</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Εάν δεν εμφανίζεται ενότητα περιβάλλοντος χρήστη, παραλείπεται.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Εάν η εστίαση πλοήγησης βρίσκεται στο πληκτρολόγιο και δεν υπάρχει εμφανής πλαϊνή γραμμή, εάν πιέσετε <strong>Shift+Tab</strong>\n' +
|
||||
' η εστίαση μετακινείται στην πρώτη ομάδα γραμμής εργαλείων, όχι στην τελευταία.\n' +
|
||||
'\n' +
|
||||
'<h1>Πλοήγηση εντός των ενοτήτων του περιβάλλοντος χρήστη</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Για να μετακινηθείτε από ένα στοιχείο περιβάλλοντος χρήστη στο επόμενο, πιέστε το αντίστοιχο πλήκτρο <strong>βέλους</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Με τα πλήκτρα <strong>αριστερού</strong> και <strong>δεξιού</strong> βέλους</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>γίνεται μετακίνηση μεταξύ των μενού στη γραμμή μενού.</li>\n' +
|
||||
' <li>ανοίγει ένα υπομενού σε ένα μενού.</li>\n' +
|
||||
' <li>γίνεται μετακίνηση μεταξύ κουμπιών σε μια ομάδα γραμμής εργαλείων.</li>\n' +
|
||||
' <li>γίνεται μετακίνηση μεταξύ στοιχείων στη διαδρομή στοιχείου στο υποσέλιδο.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Με τα πλήκτρα <strong>επάνω</strong> και <strong>κάτω</strong> βέλους\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα μενού.</li>\n' +
|
||||
' <li>γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα αναδυόμενο μενού γραμμής εργαλείων.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Με τα πλήκτρα <strong>βέλους</strong> γίνεται κυκλική μετακίνηση εντός της εστιασμένης ενότητας περιβάλλοντος χρήστη.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Για να κλείσετε ένα ανοιχτό μενού, ένα ανοιχτό υπομενού ή ένα ανοιχτό αναδυόμενο μενού, πιέστε το πλήκτρο <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
'<p>Εάν η τρέχουσα εστίαση βρίσκεται στην κορυφή μιας ενότητας περιβάλλοντος χρήστη, πιέζοντας το πλήκτρο <strong>Esc</strong>,\n' +
|
||||
' γίνεται επίσης πλήρης έξοδος από την πλοήγηση μέσω πληκτρολογίου.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Εκτέλεση ενός στοιχείου μενού ή κουμπιού γραμμής εργαλείων</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Όταν το επιθυμητό στοιχείο μενού ή κουμπί γραμμής εργαλείων είναι επισημασμένο, πιέστε τα πλήκτρα <strong>Return</strong>, <strong>Enter</strong>,\n' +
|
||||
' ή το <strong>πλήκτρο διαστήματος</strong> για να εκτελέσετε το στοιχείο.\n' +
|
||||
'\n' +
|
||||
'<h1>Πλοήγηση σε παράθυρα διαλόγου χωρίς καρτέλες</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Σε παράθυρα διαλόγου χωρίς καρτέλες, το πρώτο αλληλεπιδραστικό στοιχείο λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων παραθύρων διαλόγων πιέζοντας τα πλήκτρα <strong>Tab</strong> ή <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Πλοήγηση σε παράθυρα διαλόγου με καρτέλες</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Σε παράθυρα διαλόγου με καρτέλες, το πρώτο κουμπί στο μενού καρτέλας λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων αυτής της καρτέλα διαλόγου πιέζοντας τα πλήκτρα <strong>Tab</strong> ή\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Μπορείτε να κάνετε εναλλαγή σε άλλη καρτέλα του παραθύρου διαλόγου, μεταφέροντας την εστίαση στο μενού καρτέλας και πιέζοντας το κατάλληλο πλήκτρο <strong>βέλους</strong>\n' +
|
||||
' για να μετακινηθείτε κυκλικά στις διαθέσιμες καρτέλες.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.en',
|
||||
'<h1>Begin keyboard navigation</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Focus the Menu bar</dt>\n' +
|
||||
' <dd>Windows or Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Focus the Toolbar</dt>\n' +
|
||||
' <dd>Windows or Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Focus the footer</dt>\n' +
|
||||
' <dd>Windows or Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Focus a contextual toolbar</dt>\n' +
|
||||
' <dd>Windows, Linux or macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Navigation will start at the first UI item, which will be highlighted, or underlined in the case of the first item in\n' +
|
||||
' the Footer element path.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navigate between UI sections</h1>\n' +
|
||||
'\n' +
|
||||
'<p>To move from one UI section to the next, press <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>To move from one UI section to the previous, press <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>The <strong>Tab</strong> order of these UI sections is:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Menu bar</li>\n' +
|
||||
' <li>Each toolbar group</li>\n' +
|
||||
' <li>Sidebar</li>\n' +
|
||||
' <li>Element path in the footer</li>\n' +
|
||||
' <li>Word count toggle button in the footer</li>\n' +
|
||||
' <li>Branding link in the footer</li>\n' +
|
||||
' <li>Editor resize handle in the footer</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>If a UI section is not present, it is skipped.</p>\n' +
|
||||
'\n' +
|
||||
'<p>If the footer has keyboard navigation focus, and there is no visible sidebar, pressing <strong>Shift+Tab</strong>\n' +
|
||||
' moves focus to the first toolbar group, not the last.\n' +
|
||||
'\n' +
|
||||
'<h1>Navigate within UI sections</h1>\n' +
|
||||
'\n' +
|
||||
'<p>To move from one UI element to the next, press the appropriate <strong>Arrow</strong> key.</p>\n' +
|
||||
'\n' +
|
||||
'<p>The <strong>Left</strong> and <strong>Right</strong> arrow keys</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>move between menus in the menu bar.</li>\n' +
|
||||
' <li>open a sub-menu in a menu.</li>\n' +
|
||||
' <li>move between buttons in a toolbar group.</li>\n' +
|
||||
' <li>move between items in the footer’s element path.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>The <strong>Down</strong> and <strong>Up</strong> arrow keys\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>move between menu items in a menu.</li>\n' +
|
||||
' <li>move between items in a toolbar pop-up menu.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Arrow</strong> keys cycle within the focused UI section.</p>\n' +
|
||||
'\n' +
|
||||
'<p>To close an open menu, an open sub-menu, or an open pop-up menu, press the <strong>Esc</strong> key.\n' +
|
||||
'\n' +
|
||||
'<p>If the current focus is at the ‘top’ of a particular UI section, pressing the <strong>Esc</strong> key also exits\n' +
|
||||
' keyboard navigation entirely.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Execute a menu item or toolbar button</h1>\n' +
|
||||
'\n' +
|
||||
'<p>When the desired menu item or toolbar button is highlighted, press <strong>Return</strong>, <strong>Enter</strong>,\n' +
|
||||
' or the <strong>Space bar</strong> to execute the item.\n' +
|
||||
'\n' +
|
||||
'<h1>Navigate non-tabbed dialogs</h1>\n' +
|
||||
'\n' +
|
||||
'<p>In non-tabbed dialogs, the first interactive component takes focus when the dialog opens.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Navigate between interactive dialog components by pressing <strong>Tab</strong> or <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navigate tabbed dialogs</h1>\n' +
|
||||
'\n' +
|
||||
'<p>In tabbed dialogs, the first button in the tab menu takes focus when the dialog opens.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Navigate between interactive components of this dialog tab by pressing <strong>Tab</strong> or\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Switch to another dialog tab by giving the tab menu focus and then pressing the appropriate <strong>Arrow</strong>\n' +
|
||||
' key to cycle through the available tabs.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.es',
|
||||
'<h1>Iniciar la navegación con el teclado</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Enfocar la barra de menús</dt>\n' +
|
||||
' <dd>Windows o Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Enfocar la barra de herramientas</dt>\n' +
|
||||
' <dd>Windows o Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Enfocar el pie de página</dt>\n' +
|
||||
' <dd>Windows o Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Enfocar una barra de herramientas contextual</dt>\n' +
|
||||
' <dd>Windows, Linux o macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>La navegación comenzará por el primer elemento de la interfaz de usuario (IU), de tal manera que se resaltará, o bien se subrayará si se trata del primer elemento de\n' +
|
||||
' la ruta de elemento del pie de página.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navegar entre las secciones de la IU</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Para pasar de una sección de la IU a la siguiente, pulse la tecla <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Para pasar de una sección de la IU a la anterior, pulse <strong>Mayús+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>El orden de <strong>tabulación</strong> de estas secciones de la IU es:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Barra de menús</li>\n' +
|
||||
' <li>Cada grupo de barra de herramientas</li>\n' +
|
||||
' <li>Barra lateral</li>\n' +
|
||||
' <li>Ruta del elemento en el pie de página</li>\n' +
|
||||
' <li>Botón de alternancia de recuento de palabras en el pie de página</li>\n' +
|
||||
' <li>Enlace de personalización de marca en el pie de página</li>\n' +
|
||||
' <li>Controlador de cambio de tamaño en el pie de página</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Si una sección de la IU no está presente, esta se omite.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Si el pie de página tiene un enfoque de navegación con el teclado y no hay ninguna barra lateral visible, al pulsar <strong>Mayús+Tab</strong>,\n' +
|
||||
' el enfoque se moverá al primer grupo de barra de herramientas, en lugar de al último.\n' +
|
||||
'\n' +
|
||||
'<h1>Navegar dentro de las secciones de la IU</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Para pasar de un elemento de la IU al siguiente, pulse la tecla de <strong>flecha</strong> correspondiente.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Las teclas de flecha <strong>izquierda</strong> y <strong>derecha</strong> permiten</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>desplazarse entre los menús de la barra de menús.</li>\n' +
|
||||
' <li>abrir el submenú de un menú.</li>\n' +
|
||||
' <li>desplazarse entre los botones de un grupo de barra de herramientas.</li>\n' +
|
||||
' <li>desplazarse entre los elementos de la ruta de elemento del pie de página.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Las teclas de flecha <strong>abajo</strong> y <strong>arriba</strong> permiten\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>desplazarse entre los elementos de menú de un menú.</li>\n' +
|
||||
' <li>desplazarse entre los elementos de un menú emergente de una barra de herramientas.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Las teclas de <strong>flecha</strong> van cambiando dentro de la sección de la IU enfocada.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Para cerrar un menú, un submenú o un menú emergente que estén abiertos, pulse la tecla <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
'<p>Si el enfoque actual se encuentra en la parte superior de una sección de la IU determinada, al pulsar la tecla <strong>Esc</strong> saldrá\n' +
|
||||
' de la navegación con el teclado por completo.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Ejecutar un elemento de menú o un botón de barra de herramientas</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Si el elemento de menú o el botón de barra de herramientas deseado está resaltado, pulse la tecla <strong>Retorno</strong> o <strong>Entrar</strong>,\n' +
|
||||
' o la <strong>barra espaciadora</strong> para ejecutar el elemento.\n' +
|
||||
'\n' +
|
||||
'<h1>Navegar por cuadros de diálogo sin pestañas</h1>\n' +
|
||||
'\n' +
|
||||
'<p>En los cuadros de diálogo sin pestañas, el primer componente interactivo se enfoca al abrirse el cuadro de diálogo.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Para navegar entre los componentes interactivos del cuadro de diálogo, pulse las teclas <strong>Tab</strong> o <strong>Mayús+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Navegar por cuadros de diálogo con pestañas</h1>\n' +
|
||||
'\n' +
|
||||
'<p>En los cuadros de diálogo con pestañas, el primer botón del menú de pestaña se enfoca al abrirse el cuadro de diálogo.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Para navegar entre componentes interactivos de esta pestaña del cuadro de diálogo, pulse las teclas <strong>Tab</strong> o\n' +
|
||||
' <strong>Mayús+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Si desea cambiar a otra pestaña del cuadro de diálogo, enfoque el menú de pestañas y, a continuación, pulse la tecla de <strong>flecha</strong>\n' +
|
||||
' correspondiente para moverse por las pestañas disponibles.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.eu',
|
||||
'<h1>Hasi teklatuaren nabigazioa</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Fokuratu menu-barra</dt>\n' +
|
||||
' <dd>Windows edo Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Fokuratu tresna-barra</dt>\n' +
|
||||
' <dd>Windows edo Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Fokuratu orri-oina</dt>\n' +
|
||||
' <dd>Windows edo Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Fokuratu testuinguruaren tresna-barra</dt>\n' +
|
||||
' <dd>Windows, Linux edo macOS: Ktrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Nabigazioa EIko lehen elementuan hasiko da: elementu hori nabarmendu egingo da, edo azpimarratu lehen elementua bada\n' +
|
||||
' orri-oineko elementuaren bidea.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Nabigatu EIko atalen artean</h1>\n' +
|
||||
'\n' +
|
||||
'<p>EIko atal batetik hurrengora mugitzeko, sakatu <strong>Tabuladorea</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>EIko atal batetik aurrekora mugitzeko, sakatu <strong>Maius+Tabuladorea</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>EIko atal hauen <strong>Tabuladorea</strong> da:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Menu-barra</li>\n' +
|
||||
' <li>Tresna-barraren talde bakoitza</li>\n' +
|
||||
' <li>Alboko barra</li>\n' +
|
||||
' <li>Orri-oineko elementuaren bidea</li>\n' +
|
||||
' <li>Orri-oneko urrats-kontaketa txandakatzeko botoia</li>\n' +
|
||||
' <li>Orri-oineko marken esteka</li>\n' +
|
||||
' <li>Orri-oineko editorearen tamaina aldatzeko heldulekua</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>EIko atal bat ez badago, saltatu egin da.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Orri-oinak teklatuaren nabigazioa fokuratuta badago, eta alboko barra ikusgai ez badago, <strong>Maius+Tabuladorea</strong> sakatuz gero,\n' +
|
||||
' fokua tresna-barrako lehen taldera eramaten da, ez azkenera.\n' +
|
||||
'\n' +
|
||||
'<h1>Nabigatu EIko atalen barruan</h1>\n' +
|
||||
'\n' +
|
||||
'<p>EIko elementu batetik hurrengora mugitzeko, sakatu dagokion <strong>Gezia</strong> tekla.</p>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Ezkerrera</strong> eta <strong>Eskuinera</strong> gezi-teklak</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>menu-barrako menuen artean mugitzen da.</li>\n' +
|
||||
' <li>ireki azpimenu bat menuan.</li>\n' +
|
||||
' <li>mugitu botoi batetik bestera tresna-barren talde batean.</li>\n' +
|
||||
' <li>mugitu orri-oineko elementuaren bideko elementu batetik bestera.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Gora</strong> eta <strong>Behera</strong> gezi-teklak\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>mugitu menu bateko menu-elementuen artean.</li>\n' +
|
||||
' <li>mugitu tresna-barrako menu gainerakor bateko menu-elementuen artean.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Gezia</strong> teklen zikloa nabarmendutako EI atalen barruan.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Irekitako menu bat ixteko, ireki azpimenua, edo ireki menu gainerakorra, sakatu <strong>Ihes</strong> tekla.\n' +
|
||||
'\n' +
|
||||
'<p>Une horretan fokuratzea EIko atal jakin baten "goialdean" badago, <strong>Ihes</strong> tekla sakatuz gero \n' +
|
||||
' teklatuaren nabigaziotik irtengo zara.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Exekutatu menuko elementu bat edo tresna-barrako botoi bat</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Nahi den menuaren elementua edo tresna-barraren botoia nabarmenduta dagoenean, sakatu <strong>Itzuli</strong>, <strong>Sartu</strong>\n' +
|
||||
' edo <strong>Zuriune-barra</strong> elementua exekutatzeko.\n' +
|
||||
'\n' +
|
||||
'<h1>Nabigatu fitxarik gabeko elkarrizketak</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Fitxarik gabeko elkarrizketetan, lehen osagai interaktiboa fokuratzen da elkarrizketa irekitzen denean.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Nabigatu elkarrizketa interaktiboko osagai batetik bestera <strong>Tabuladorea</strong> edo <strong>Maius+Tabuladorea</strong> sakatuta.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Nabigatu fitxadun elkarrizketak</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Fitxadun elkarrizketetan, fitxa-menuko lehen botoia fokuratzen da elkarrizketa irekitzen denean.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Nabigatu elkarrizketa-fitxa honen interaktiboko osagai batetik bestera <strong>Tabuladorea</strong> edo\n' +
|
||||
' <strong>Maius+Tabuladorea</strong> sakatuta.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Aldatu beste elkarrizketa-fitxa batera fitxa-menua fokuratu eta dagokion <strong>Gezia</strong>\n' +
|
||||
' tekla sakatzeko, erabilgarri dauden fitxa batetik bestera txandakatzeko.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.fa',
|
||||
'<h1>شروع پیمایش صفحهکلید</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>تمرکز بر نوار منو</dt>\n' +
|
||||
' <dd>Windows یا Linux:: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>تمرکز بر نوار ابزار</dt>\n' +
|
||||
' <dd>Windows یا Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>تمرکز بر پانویس</dt>\n' +
|
||||
' <dd>Windows یا Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>تمرکز بر نوار ابزار بافتاری</dt>\n' +
|
||||
' <dd>Windows ،Linux یا macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>پیمایش در اولین مورد رابط کاربری شروع میشود و درخصوص اولین مورد در\n' +
|
||||
' مسیر عنصر پانویس، برجسته یا زیرخطدار میشود.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>پیمایش بین بخشهای رابط کاربری</h1>\n' +
|
||||
'\n' +
|
||||
'<p>برای جابجایی از یک بخش رابط کاربری به بخش بعدی، <strong>Tab</strong> را فشار دهید.</p>\n' +
|
||||
'\n' +
|
||||
'<p>برای جابجایی از یک بخش رابط کاربری به بخش قبلی، <strong>Shift+Tab</strong> را فشار دهید.</p>\n' +
|
||||
'\n' +
|
||||
'<p>ترتیب <strong>Tab</strong> این بخشهای رابط کاربری عبارتند از:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>نوار منو</li>\n' +
|
||||
' <li>هر گروه نوار ابزار</li>\n' +
|
||||
' <li>نوار کناری</li>\n' +
|
||||
' <li>مسیر عنصر در پانویس</li>\n' +
|
||||
' <li>دکمه تغییر وضعیت تعداد کلمات در پانویس</li>\n' +
|
||||
' <li>پیوند نمانامسازی در پانویس</li>\n' +
|
||||
' <li>دسته تغییر اندازه ویرایشگر در پانویس</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>اگر بخشی از رابط کاربری موجود نباشد، رد میشود.</p>\n' +
|
||||
'\n' +
|
||||
'<p>اگر پانویس دارای تمرکز بر پیمایش صفحهکلید باشد، و نوار کناری قابلمشاهده وجود ندارد، فشردن <strong>Shift+Tab</strong>\n' +
|
||||
' تمرکز را به گروه نوار ابزار اول میبرد، نه آخر.\n' +
|
||||
'\n' +
|
||||
'<h1>پیمایش در بخشهای رابط کاربری</h1>\n' +
|
||||
'\n' +
|
||||
'<p>برای جابجایی از یک عنصر رابط کاربری به بعدی، کلید <strong>جهتنمای</strong> مناسب را فشار دهید.</p>\n' +
|
||||
'\n' +
|
||||
'<p>کلیدهای جهتنمای <strong>چپ</strong> و <strong>راست</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>جابجایی بین منوها در نوار منو.</li>\n' +
|
||||
' <li>باز کردن منوی فرعی در یک منو.</li>\n' +
|
||||
' <li>جابجایی بین دکمهها در یک گروه نوار ابزار.</li>\n' +
|
||||
' <li>جابجایی بین موارد در مسیر عنصر پانویس.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>کلیدهای جهتنمای <strong>پایین</strong> و <strong>بالا</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>جابجایی بین موارد منو در یک منو.</li>\n' +
|
||||
' <li>جابجایی بین موارد در یک منوی بازشوی نوار ابزار.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>کلیدهای<strong>جهتنما</strong> در بخش رابط کاربری متمرکز میچرخند.</p>\n' +
|
||||
'\n' +
|
||||
'<p>برای بستن یک منوی باز، یک منوی فرعی باز، یا یک منوی بازشوی باز، کلید <strong>Esc</strong> را فشار دهید.\n' +
|
||||
'\n' +
|
||||
'<p>اگر تمرکز فعلی در «بالای» یک بخش رابط کاربری خاص است، فشردن کلید <strong>Esc</strong> نیز موجب\n' +
|
||||
' خروج کامل از پیمایش صفحهکلید میشود.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>اجرای یک مورد منو یا دکمه نوار ابزار</h1>\n' +
|
||||
'\n' +
|
||||
'<p>وقتی مورد منو یا دکمه نوار ابزار مورد نظر هایلایت شد، دکمه <strong>بازگشت</strong>، <strong>Enter</strong>،\n' +
|
||||
' یا <strong>نوار Space</strong> را فشار دهید تا مورد را اجرا کنید.\n' +
|
||||
'\n' +
|
||||
'<h1>پیمایش در کادرهای گفتگوی بدون زبانه</h1>\n' +
|
||||
'\n' +
|
||||
'<p>در کادرهای گفتگوی بدون زبانه، وقتی کادر گفتگو باز میشود، اولین جزء تعاملی متمرکز میشود.</p>\n' +
|
||||
'\n' +
|
||||
'<p>با فشردن <strong>Tab</strong> یا <strong>Shift+Tab</strong>، بین اجزای کادر گفتگوی تعاملی پیمایش کنید.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>پیمایش کادرهای گفتگوی زبانهدار</h1>\n' +
|
||||
'\n' +
|
||||
'<p>در کادرهای گفتگوی زبانهدار، وقتی کادر گفتگو باز میشود، اولین دکمه در منوی زبانه متمرکز میشود.</p>\n' +
|
||||
'\n' +
|
||||
'<p>با فشردن <strong>Tab</strong> یا\n' +
|
||||
' <strong>Shift+Tab</strong>، بین اجزای تعاملی این زبانه کادر گفتگو پیمایش کنید.</p>\n' +
|
||||
'\n' +
|
||||
'<p>با دادن تمرکز به منوی زبانه و سپس فشار دادن کلید <strong>جهتنمای</strong>\n' +
|
||||
' مناسب برای چرخش میان زبانههای موجود، به زبانه کادر گفتگوی دیگری بروید.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.fi',
|
||||
'<h1>Näppäimistönavigoinnin aloittaminen</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Siirrä kohdistus valikkopalkkiin</dt>\n' +
|
||||
' <dd>Windows tai Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>Siirrä kohdistus työkalupalkkiin</dt>\n' +
|
||||
' <dd>Windows tai Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>Siirrä kohdistus alatunnisteeseen</dt>\n' +
|
||||
' <dd>Windows tai Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>Siirrä kohdistus kontekstuaaliseen työkalupalkkiin</dt>\n' +
|
||||
' <dd>Windows, Linux tai macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>Navigointi aloitetaan ensimmäisestä käyttöliittymän kohteesta, joka joko korostetaan tai alleviivataan, jos\n' +
|
||||
' kyseessä on Alatunniste-elementin polun ensimmäinen kohde.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Käyttöliittymän eri osien välillä navigointi</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Paina <strong>sarkainnäppäintä</strong> siirtyäksesi käyttöliittymän osasta seuraavaan.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Jos haluat siirtyä edelliseen käyttöliittymän osaan, paina <strong>Shift+sarkainnäppäin</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Sarkainnäppäin</strong> siirtää sinua näissä käyttöliittymän osissa tässä järjestyksessä:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Valikkopalkki</li>\n' +
|
||||
' <li>Työkalupalkin ryhmät</li>\n' +
|
||||
' <li>Sivupalkki</li>\n' +
|
||||
' <li>Elementin polku alatunnisteessa</li>\n' +
|
||||
' <li>Sanalaskurin vaihtopainike alatunnisteessa</li>\n' +
|
||||
' <li>Brändäyslinkki alatunnisteessa</li>\n' +
|
||||
' <li>Editorin koon muuttamisen kahva alatunnisteessa</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>Jos jotakin käyttöliittymän osaa ei ole, se ohitetaan.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Jos kohdistus on siirretty alatunnisteeseen näppäimistönavigoinnilla eikä sivupalkkia ole näkyvissä, <strong>Shift+sarkainnäppäin</strong>\n' +
|
||||
' siirtää kohdistuksen työkalupalkin ensimmäiseen ryhmään, eikä viimeiseen.\n' +
|
||||
'\n' +
|
||||
'<h1>Käyttöliittymän eri osien sisällä navigointi</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Paina <strong>nuolinäppäimiä</strong> siirtyäksesi käyttöliittymäelementistä seuraavaan.</p>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Vasen</strong>- ja <strong>Oikea</strong>-nuolinäppäimet</p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>siirtävät sinua valikkopalkin valikoiden välillä.</li>\n' +
|
||||
' <li>avaavat valikon alavalikon.</li>\n' +
|
||||
' <li>siirtävät sinua työkalupalkin ryhmän painikkeiden välillä.</li>\n' +
|
||||
' <li>siirtävät sinua kohteiden välillä alatunnisteen elementin polussa.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Alas</strong>- ja <strong>Ylös</strong>-nuolinäppäimet\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>siirtävät sinua valikon valikkokohteiden välillä.</li>\n' +
|
||||
' <li>siirtävät sinua työkalupalkin ponnahdusvalikon kohteiden välillä.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p><strong>Nuolinäppäimet</strong> siirtävät sinua käyttöliittymän korostetun osan sisällä syklissä.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Paina <strong>Esc</strong>-näppäintä sulkeaksesi avoimen valikon, avataksesi alavalikon tai avataksesi ponnahdusvalikon.\n' +
|
||||
'\n' +
|
||||
'<p>Jos kohdistus on käyttöliittymän tietyn osion ylälaidassa, <strong>Esc</strong>-näppäimen painaminen\n' +
|
||||
' poistuu myös näppäimistönavigoinnista kokonaan.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Suorita valikkokohde tai työkalupalkin painike</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Kun haluamasi valikkokohde tai työkalupalkin painike on korostettuna, paina <strong>Return</strong>-, <strong>Enter</strong>-\n' +
|
||||
' tai <strong>välilyöntinäppäintä</strong> suorittaaksesi kohteen.\n' +
|
||||
'\n' +
|
||||
'<h1>Välilehdittömissä valintaikkunoissa navigointi</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Kun välilehdetön valintaikkuna avautuu, kohdistus siirtyy sen ensimmäiseen interaktiiviseen komponenttiin.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Voit siirtyä valintaikkunan interaktiivisten komponenttien välillä painamalla <strong>sarkainnäppäintä</strong> tai <strong>Shift+sarkainnäppäin</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Välilehdellisissä valintaikkunoissa navigointi</h1>\n' +
|
||||
'\n' +
|
||||
'<p>Kun välilehdellinen valintaikkuna avautuu, kohdistus siirtyy välilehtivalikon ensimmäiseen painikkeeseen.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Voit siirtyä valintaikkunan välilehden interaktiivisen komponenttien välillä painamalla <strong>sarkainnäppäintä</strong> tai\n' +
|
||||
' <strong>Shift+sarkainnäppäin</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>Voit siirtyä valintaikkunan toiseen välilehteen siirtämällä kohdistuksen välilehtivalikkoon ja painamalla sopivaa <strong>nuolinäppäintä</strong>\n' +
|
||||
' siirtyäksesi käytettävissä olevien välilehtien välillä syklissä.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.fr_FR',
|
||||
'<h1>Débuter la navigation au clavier</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>Cibler la barre du menu</dt>\n' +
|
||||
' <dd>Windows ou Linux : Alt+F9</dd>\n' +
|
||||
' <dd>macOS : ⌥F9</dd>\n' +
|
||||
" <dt>Cibler la barre d'outils</dt>\n" +
|
||||
' <dd>Windows ou Linux : Alt+F10</dd>\n' +
|
||||
' <dd>macOS : ⌥F10</dd>\n' +
|
||||
' <dt>Cibler le pied de page</dt>\n' +
|
||||
' <dd>Windows ou Linux : Alt+F11</dd>\n' +
|
||||
' <dd>macOS : ⌥F11</dd>\n' +
|
||||
" <dt>Cibler une barre d'outils contextuelle</dt>\n" +
|
||||
' <dd>Windows, Linux ou macOS : Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
"<p>La navigation débutera sur le premier élément de l'interface utilisateur, qui sera mis en surbrillance ou bien souligné dans le cas du premier élément du\n" +
|
||||
" chemin d'éléments du pied de page.</p>\n" +
|
||||
'\n' +
|
||||
"<h1>Naviguer entre les sections de l'interface utilisateur</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Pour passer d'une section de l'interface utilisateur à la suivante, appuyez sur <strong>Tabulation</strong>.</p>\n" +
|
||||
'\n' +
|
||||
"<p>Pour passer d'une section de l'interface utilisateur à la précédente, appuyez sur <strong>Maj+Tabulation</strong>.</p>\n" +
|
||||
'\n' +
|
||||
"<p>L'ordre de <strong>Tabulation</strong> de ces sections de l'interface utilisateur est le suivant :\n" +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>Barre du menu</li>\n' +
|
||||
" <li>Chaque groupe de barres d'outils</li>\n" +
|
||||
' <li>Barre latérale</li>\n' +
|
||||
" <li>Chemin d'éléments du pied de page</li>\n" +
|
||||
" <li>Bouton d'activation du compteur de mots dans le pied de page</li>\n" +
|
||||
' <li>Lien de marque dans le pied de page</li>\n' +
|
||||
" <li>Poignée de redimensionnement de l'éditeur dans le pied de page</li>\n" +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
"<p>Si une section de l'interface utilisateur n'est pas présente, elle sera ignorée.</p>\n" +
|
||||
'\n' +
|
||||
"<p>Si le pied de page comporte un ciblage par navigation au clavier et qu'il n'y a aucune barre latérale visible, appuyer sur <strong>Maj+Tabulation</strong>\n" +
|
||||
" déplace le ciblage vers le premier groupe de barres d'outils et non le dernier.\n" +
|
||||
'\n' +
|
||||
"<h1>Naviguer au sein des sections de l'interface utilisateur</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Pour passer d'un élément de l'interface utilisateur au suivant, appuyez sur la <strong>Flèche</strong> appropriée.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Les touches fléchées <strong>Gauche</strong> et <strong>Droite</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>se déplacent entre les menus de la barre des menus.</li>\n' +
|
||||
" <li>ouvrent un sous-menu au sein d'un menu.</li>\n" +
|
||||
" <li>se déplacent entre les boutons d'un groupe de barres d'outils.</li>\n" +
|
||||
" <li>se déplacent entre les éléments du chemin d'éléments du pied de page.</li>\n" +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>Les touches fléchées <strong>Bas</strong> et <strong>Haut</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
" <li>se déplacent entre les éléments de menu au sein d'un menu.</li>\n" +
|
||||
" <li>se déplacent entre les éléments au sein d'un menu contextuel de barre d'outils.</li>\n" +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
"<p>Les <strong>Flèches</strong> parcourent la section de l'interface utilisateur ciblée.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Pour fermer un menu ouvert, un sous-menu ouvert ou un menu contextuel ouvert, appuyez sur <strong>Echap</strong>.\n' +
|
||||
'\n' +
|
||||
"<p>Si l'actuel ciblage se trouve en « haut » d'une section spécifique de l'interface utilisateur, appuyer sur <strong>Echap</strong> permet également de quitter\n" +
|
||||
' entièrement la navigation au clavier.</p>\n' +
|
||||
'\n' +
|
||||
"<h1>Exécuter un élément de menu ou un bouton de barre d'outils</h1>\n" +
|
||||
'\n' +
|
||||
"<p>Lorsque l'élément de menu ou le bouton de barre d'outils désiré est mis en surbrillance, appuyez sur la touche <strong>Retour arrière</strong>, <strong>Entrée</strong>\n" +
|
||||
" ou la <strong>Barre d'espace</strong> pour exécuter l'élément.\n" +
|
||||
'\n' +
|
||||
'<h1>Naviguer au sein de dialogues sans onglets</h1>\n' +
|
||||
'\n' +
|
||||
"<p>Dans les dialogues sans onglets, le premier composant interactif est ciblé lorsque le dialogue s'ouvre.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Naviguez entre les composants du dialogue interactif en appuyant sur <strong>Tabulation</strong> ou <strong>Maj+Tabulation</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>Naviguer au sein de dialogues avec onglets</h1>\n' +
|
||||
'\n' +
|
||||
"<p>Dans les dialogues avec onglets, le premier bouton du menu de l'onglet est ciblé lorsque le dialogue s'ouvre.</p>\n" +
|
||||
'\n' +
|
||||
'<p>Naviguez entre les composants interactifs de cet onglet de dialogue en appuyant sur <strong>Tabulation</strong> ou\n' +
|
||||
' <strong>Maj+Tabulation</strong>.</p>\n' +
|
||||
'\n' +
|
||||
"<p>Passez à un autre onglet de dialogue en ciblant le menu de l'onglet et en appuyant sur la <strong>Flèche</strong>\n" +
|
||||
' appropriée pour parcourir les onglets disponibles.</p>\n');
|
||||
@@ -1,90 +0,0 @@
|
||||
tinymce.Resource.add('tinymce.html-i18n.help-keynav.he_IL',
|
||||
'<h1>התחל ניווט במקלדת</h1>\n' +
|
||||
'\n' +
|
||||
'<dl>\n' +
|
||||
' <dt>התמקד בשורת התפריטים</dt>\n' +
|
||||
' <dd>Windows או Linux: Alt+F9</dd>\n' +
|
||||
' <dd>macOS: ⌥F9</dd>\n' +
|
||||
' <dt>העבר מיקוד לסרגל הכלים</dt>\n' +
|
||||
' <dd>Windows או Linux: Alt+F10</dd>\n' +
|
||||
' <dd>macOS: ⌥F10</dd>\n' +
|
||||
' <dt>העבר מיקוד לכותרת התחתונה</dt>\n' +
|
||||
' <dd>Windows או Linux: Alt+F11</dd>\n' +
|
||||
' <dd>macOS: ⌥F11</dd>\n' +
|
||||
' <dt>העבר מיקוד לסרגל כלים הקשרי</dt>\n' +
|
||||
' <dd>Windows, Linux או macOS: Ctrl+F9\n' +
|
||||
'</dl>\n' +
|
||||
'\n' +
|
||||
'<p>הניווט יתחיל ברכיב הראשון במשך, שיודגש או שיהיה מתחתיו קו תחתון במקרה של הפריט הראשון\n' +
|
||||
' הנתיב של רכיב הכותרת התחתונה.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>עבור בין מקטעים במסך</h1>\n' +
|
||||
'\n' +
|
||||
'<p>כדי לעבור בין המקטעים במסך, הקש <strong>Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>כדי לעבור למקטע הקודם במסך, הקש <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>הסדר מבחינת מקש <strong>Tab</strong> של הרכיבים במסך:\n' +
|
||||
'\n' +
|
||||
'<ol>\n' +
|
||||
' <li>שורת התפריטים</li>\n' +
|
||||
' <li>כל קבוצה בסרגל הכלים</li>\n' +
|
||||
' <li>הסרגל הצידי</li>\n' +
|
||||
' <li>נתיב של רכיב בכותרת התחתונה</li>\n' +
|
||||
' <li>לחצן לספירת מילים בכותרת התחתונה</li>\n' +
|
||||
' <li>קישור של המותג בכותרת התחתונה</li>\n' +
|
||||
' <li>ידית לשינוי גודל עבור העורך בכותרת התחתונה</li>\n' +
|
||||
'</ol>\n' +
|
||||
'\n' +
|
||||
'<p>אם רכיב כלשהו במסך לא מופיע, המערכת תדלג עליו.</p>\n' +
|
||||
'\n' +
|
||||
'<p>אם בכותרת התחתונה יש מיקוד של ניווט במקלדת, ולא מופיע סרגל בצד, יש להקיש <strong>Shift+Tab</strong>\n' +
|
||||
' מעביר את המיקוד לקבוצה הראשונה בסרגל הכלים, לא האחרונה.\n' +
|
||||
'\n' +
|
||||
'<h1>עבור בתוך מקטעים במסך</h1>\n' +
|
||||
'\n' +
|
||||
'<p>כדי לעבור מרכיב אחד לרכיב אחר במסך, הקש על מקש <strong>החץ</strong> המתאים.</p>\n' +
|
||||
'\n' +
|
||||
'<p>מקשי החיצים <strong>שמאלה</strong> ו<strong>ימינה</strong></p>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>עבור בין תפריטים בשורת התפריטים.</li>\n' +
|
||||
' <li>פתח תפריט משני בתפריט.</li>\n' +
|
||||
' <li>עבור בין לחצנים בקבוצה בסרגל הכלים.</li>\n' +
|
||||
' <li>עבור בין פריטים ברכיב בכותרת התחתונה.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>מקשי החיצים <strong>למטה</strong> ו<strong>למעלה</strong>\n' +
|
||||
'\n' +
|
||||
'<ul>\n' +
|
||||
' <li>עבור בין פריטים בתפריט.</li>\n' +
|
||||
' <li>עבור בין פריטים בחלון הקובץ של סרגל הכלים.</li>\n' +
|
||||
'</ul>\n' +
|
||||
'\n' +
|
||||
'<p>מקשי <strong>החצים</strong> משתנים בתוך המקטע במסך שעליו נמצא המיקוד.</p>\n' +
|
||||
'\n' +
|
||||
'<p>כדי לסגור תפריט פתוח, תפריט משני פתוח או חלון קופץ, הקש על <strong>Esc</strong>.\n' +
|
||||
'\n' +
|
||||
"<p>אם המיקוד הוא על החלק 'העליון' של מקטע מסוים במסך, הקשה על <strong>Esc</strong> מביאה גם ליציאה\n" +
|
||||
' מהניווט במקלדת לחלוטין.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>הפעל פריט בתפריט או לחצן בסרגל הכלים</h1>\n' +
|
||||
'\n' +
|
||||
'<p>כאשר הפריט הרצוי בתפריט או הלחצן בסרגל הכלים מודגשים, הקש על <strong>Return</strong>, <strong>Enter</strong>,\n' +
|
||||
' או על <strong>מקש הרווח</strong> כדי להפעיל את הפריט.\n' +
|
||||
'\n' +
|
||||
'<h1>ניווט בחלונות דו-שיח בלי כרטיסיות</h1>\n' +
|
||||
'\n' +
|
||||
'<p>בחלונות דו-שיח בלי כרטיסיות, הרכיב האינטראקטיבי הראשון מקבל את המיקוד כאשר החלון נפתח.</p>\n' +
|
||||
'\n' +
|
||||
'<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<h1>ניווט בחלונות דו-שיח עם כרטיסיות</h1>\n' +
|
||||
'\n' +
|
||||
'<p>בחלונות דו-שיח עם כרטיסיות, הלחצן הראשון בתפריט מקבל את המיקוד כאשר החלון נפתח.</p>\n' +
|
||||
'\n' +
|
||||
'<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או\n' +
|
||||
' <strong>Shift+Tab</strong>.</p>\n' +
|
||||
'\n' +
|
||||
'<p>עבור לכרטיסיה אחרת בחלון על ידי העברת המיקוד לתפריט הכרטיסיות והקשה על <strong>החץ</strong>המתאים\n' +
|
||||
' כדי לעבור בין הכרטיסיות הזמינות.</p>\n');
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user