refactor: code formatting for ts

This commit is contained in:
Johannes Millan 2019-07-01 23:23:59 +02:00
parent 822c0ae9c7
commit 906e1cd4e2
271 changed files with 3313 additions and 3271 deletions

View file

@ -18,7 +18,7 @@ import {FormlyMaterialModule} from '@ngx-formly/material';
import {PagesModule} from './pages/pages.module';
import {MainHeaderModule} from './core-ui/main-header/main-header.module';
import {HttpClientModule} from '@angular/common/http';
import { MatSidenavModule } from '@angular/material/sidenav';
import {MatSidenavModule} from '@angular/material/sidenav';
import {TasksModule} from './features/tasks/tasks.module';
import {TimeTrackingModule} from './features/time-tracking/time-tracking.module';
import {BookmarkModule} from './features/bookmark/bookmark.module';

View file

@ -1,8 +1,8 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LayoutModule } from './layout/layout.module';
import { MainHeaderModule } from './main-header/main-header.module';
import { ShortcutModule } from './shortcut/shortcut.module';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {LayoutModule} from './layout/layout.module';
import {MainHeaderModule} from './main-header/main-header.module';
import {ShortcutModule} from './shortcut/shortcut.module';
@NgModule({
declarations: [],

View file

@ -1,10 +1,10 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { StoreModule } from '@ngrx/store';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {StoreModule} from '@ngrx/store';
import * as fromLayout from './store/layout.reducer';
import { LAYOUT_FEATURE_NAME } from './store/layout.reducer';
import { EffectsModule } from '@ngrx/effects';
import { LayoutEffects } from './store/layout.effects';
import {LAYOUT_FEATURE_NAME} from './store/layout.reducer';
import {EffectsModule} from '@ngrx/effects';
import {LayoutEffects} from './store/layout.effects';
@NgModule({
imports: [

View file

@ -1,4 +1,4 @@
import { Injectable } from '@angular/core';
import {Injectable} from '@angular/core';
import {
HideAddTaskBar,
HideBookmarkBar,
@ -7,9 +7,9 @@ import {
ToggleAddTaskBar,
ToggleBookmarkBar
} from './store/layout.actions';
import { Observable } from 'rxjs';
import { select, Store } from '@ngrx/store';
import { LayoutState, selectIsShowAddTaskBar, selectIsShowBookmarkBar } from './store/layout.reducer';
import {Observable} from 'rxjs';
import {select, Store} from '@ngrx/store';
import {LayoutState, selectIsShowAddTaskBar, selectIsShowBookmarkBar} from './store/layout.reducer';
@Injectable({
providedIn: 'root',

View file

@ -1,4 +1,4 @@
import { Action } from '@ngrx/store';
import {Action} from '@ngrx/store';
export enum LayoutActionTypes {
ShowAddTaskBar = '[Layout] Show AddTaskBar',

View file

@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { LayoutActionTypes } from './layout.actions';
import { map } from 'rxjs/operators';
import { FocusLastActiveTask } from '../../../features/tasks/store/task.actions';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {LayoutActionTypes} from './layout.actions';
import {map} from 'rxjs/operators';
import {FocusLastActiveTask} from '../../../features/tasks/store/task.actions';
@Injectable()
export class LayoutEffects {

View file

@ -1,5 +1,5 @@
import { LayoutActions, LayoutActionTypes } from './layout.actions';
import { createFeatureSelector, createSelector } from '@ngrx/store';
import {LayoutActions, LayoutActionTypes} from './layout.actions';
import {createFeatureSelector, createSelector} from '@ngrx/store';
export const LAYOUT_FEATURE_NAME = 'layout';

View file

@ -1,15 +1,15 @@
import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';
import { ProjectService } from '../../features/project/project.service';
import { DialogCreateProjectComponent } from '../../features/project/dialogs/create-project/dialog-create-project.component';
import { MatDialog } from '@angular/material/dialog';
import { MatDrawer } from '@angular/material/sidenav';
import { LayoutService } from '../layout/layout.service';
import { BookmarkService } from '../../features/bookmark/bookmark.service';
import { NoteService } from '../../features/note/note.service';
import { TaskService } from '../../features/tasks/task.service';
import { GlobalConfigService } from '../../features/config/global-config.service';
import { PomodoroService } from '../../features/pomodoro/pomodoro.service';
import { Project } from '../../features/project/project.model';
import {ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';
import {ProjectService} from '../../features/project/project.service';
import {DialogCreateProjectComponent} from '../../features/project/dialogs/create-project/dialog-create-project.component';
import {MatDialog} from '@angular/material/dialog';
import {MatDrawer} from '@angular/material/sidenav';
import {LayoutService} from '../layout/layout.service';
import {BookmarkService} from '../../features/bookmark/bookmark.service';
import {NoteService} from '../../features/note/note.service';
import {TaskService} from '../../features/tasks/task.service';
import {GlobalConfigService} from '../../features/config/global-config.service';
import {PomodoroService} from '../../features/pomodoro/pomodoro.service';
import {Project} from '../../features/project/project.model';
@Component({
selector: 'main-header',
@ -22,7 +22,7 @@ export class MainHeaderComponent implements OnInit {
circumference = this.progressCircleRadius * Math.PI * 2;
@Input() drawer: MatDrawer;
@ViewChild('circleSvg', { static: true }) circleSvg: ElementRef;
@ViewChild('circleSvg', {static: true}) circleSvg: ElementRef;
constructor(
public readonly projectService: ProjectService,

View file

@ -1,11 +1,11 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MainHeaderComponent } from './main-header.component';
import { UiModule } from '../../ui/ui.module';
import { ProjectModule } from '../../features/project/project.module';
import { RouterModule } from '@angular/router';
import { BookmarkModule } from '../../features/bookmark/bookmark.module';
import { PomodoroModule } from '../../features/pomodoro/pomodoro.module';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {MainHeaderComponent} from './main-header.component';
import {UiModule} from '../../ui/ui.module';
import {ProjectModule} from '../../features/project/project.module';
import {RouterModule} from '@angular/router';
import {BookmarkModule} from '../../features/bookmark/bookmark.module';
import {PomodoroModule} from '../../features/pomodoro/pomodoro.module';
@NgModule({
imports: [

View file

@ -1,6 +1,6 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {RouterModule} from '@angular/router';
@NgModule({
imports: [

View file

@ -1,16 +1,16 @@
import { Injectable } from '@angular/core';
import { IS_ELECTRON } from '../../app.constants';
import { checkKeyCombo } from '../../util/check-key-combo';
import { GlobalConfigService } from '../../features/config/global-config.service';
import { ActivatedRoute, Router } from '@angular/router';
import { ElectronService } from 'ngx-electron';
import { LayoutService } from '../layout/layout.service';
import { NoteService } from '../../features/note/note.service';
import { TaskService } from '../../features/tasks/task.service';
import { MatDialog } from '@angular/material/dialog';
import { DialogAddNoteComponent } from '../../features/note/dialog-add-note/dialog-add-note.component';
import { BookmarkService } from '../../features/bookmark/bookmark.service';
import { IPC_TASK_TOGGLE_START } from '../../../../electron/ipc-events.const';
import {Injectable} from '@angular/core';
import {IS_ELECTRON} from '../../app.constants';
import {checkKeyCombo} from '../../util/check-key-combo';
import {GlobalConfigService} from '../../features/config/global-config.service';
import {ActivatedRoute, Router} from '@angular/router';
import {ElectronService} from 'ngx-electron';
import {LayoutService} from '../layout/layout.service';
import {NoteService} from '../../features/note/note.service';
import {TaskService} from '../../features/tasks/task.service';
import {MatDialog} from '@angular/material/dialog';
import {DialogAddNoteComponent} from '../../features/note/dialog-add-note/dialog-add-note.component';
import {BookmarkService} from '../../features/bookmark/bookmark.service';
import {IPC_TASK_TOGGLE_START} from '../../../../electron/ipc-events.const';
@Injectable({

View file

@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BannerComponent } from './banner/banner.component';
import { UiModule } from '../../ui/ui.module';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {BannerComponent} from './banner/banner.component';
import {UiModule} from '../../ui/ui.module';
@NgModule({
declarations: [

View file

@ -1,6 +1,6 @@
import { TestBed } from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';
import { BannerService } from './banner.service';
import {BannerService} from './banner.service';
describe('BannerService', () => {
beforeEach(() => TestBed.configureTestingModule({}));

View file

@ -1,9 +1,9 @@
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';
import { BannerService } from '../banner.service';
import { Banner, BannerAction } from '../banner.model';
import { concatMap, mapTo } from 'rxjs/operators';
import { merge, Observable, of, timer } from 'rxjs';
import { slideAnimation } from '../../../ui/animations/slide.ani';
import {ChangeDetectionStrategy, Component, ElementRef, ViewChild} from '@angular/core';
import {BannerService} from '../banner.service';
import {Banner, BannerAction} from '../banner.model';
import {concatMap, mapTo} from 'rxjs/operators';
import {merge, Observable, of, timer} from 'rxjs';
import {slideAnimation} from '../../../ui/animations/slide.ani';
@Component({
selector: 'banner',
@ -37,7 +37,7 @@ export class BannerComponent {
private _dirtyReference: string;
@ViewChild('wrapperEl', { static: false }) set wrapperEl(content: ElementRef) {
@ViewChild('wrapperEl', {static: false}) set wrapperEl(content: ElementRef) {
if (content && content.nativeElement) {
this.height = content.nativeElement.offsetHeight;
}

View file

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
@NgModule({
imports: [

View file

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { ExtensionInterfaceEventName } from './chrome-extension-interface';
import { ReplaySubject } from 'rxjs';
import { first, startWith } from 'rxjs/operators';
import {Injectable} from '@angular/core';
import {ExtensionInterfaceEventName} from './chrome-extension-interface';
import {ReplaySubject} from 'rxjs';
import {first, startWith} from 'rxjs/operators';
const interfaceEl = window;

View file

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
@NgModule({
declarations: [],
@ -7,4 +7,5 @@ import { CommonModule } from '@angular/common';
CommonModule
]
})
export class CompressionModule { }
export class CompressionModule {
}

View file

@ -1,6 +1,6 @@
import { TestBed } from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';
import { CompressionService } from './compression.service';
import {CompressionService} from './compression.service';
describe('CompressionService', () => {
beforeEach(() => TestBed.configureTestingModule({}));

View file

@ -1,4 +1,4 @@
import { CoreModule } from './core.module';
import {CoreModule} from './core.module';
describe('CoreModule', () => {
let coreModule: CoreModule;

View file

@ -1,12 +1,12 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { PersistenceModule } from './persistence/persistence.module';
import { ChromeExtensionInterfaceModule } from './chrome-extension-interface/chrome-extension-interface.module';
import { SnackModule } from './snack/snack.module';
import { RouterModule } from '@angular/router';
import { NotifyModule } from './notify/notify.module';
import { LocalBackupModule } from '../imex/local-backup/local-backup.module';
import { BannerModule } from './banner/banner.module';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {PersistenceModule} from './persistence/persistence.module';
import {ChromeExtensionInterfaceModule} from './chrome-extension-interface/chrome-extension-interface.module';
import {SnackModule} from './snack/snack.module';
import {RouterModule} from '@angular/router';
import {NotifyModule} from './notify/notify.module';
import {LocalBackupModule} from '../imex/local-backup/local-backup.module';
import {BannerModule} from './banner/banner.module';
import {CompressionModule} from './compression/compression.module';
@NgModule({

View file

@ -1,4 +1,4 @@
import { isImageUrlSimple } from '../../util/is-image-url';
import {isImageUrlSimple} from '../../util/is-image-url';
export type DropPasteInputType = 'FILE' | 'LINK' | 'IMG' | 'COMMAND' | 'NOTE';

View file

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
@NgModule({
imports: [

View file

@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import {Injectable} from '@angular/core';
import * as localForage from 'localforage';
import { SnackService } from '../snack/snack.service';
import {SnackService} from '../snack/snack.service';
@Injectable({
providedIn: 'root',

View file

@ -1,4 +1,4 @@
import { LS_LAST_ACTIVE } from './ls-keys.const';
import {LS_LAST_ACTIVE} from './ls-keys.const';
export const loadFromLs = (key) => {
const serializedState = localStorage.getItem(key);

View file

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
@NgModule({
imports: [

View file

@ -1,8 +1,8 @@
import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';
import { SnackParams } from '../snack.model';
import { Subscription } from 'rxjs';
import { debounceTime, delay } from 'rxjs/operators';
import {ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit} from '@angular/core';
import {MAT_SNACK_BAR_DATA, MatSnackBarRef} from '@angular/material/snack-bar';
import {SnackParams} from '../snack.model';
import {Subscription} from 'rxjs';
import {debounceTime} from 'rxjs/operators';
@Component({
selector: 'snack-custom',
@ -49,7 +49,7 @@ export class SnackCustomComponent implements OnInit, OnDestroy {
this.snackBarRef.dismissWithAction();
}
close(){
close() {
this.snackBarRef.dismissWithAction();
}
}

View file

@ -1,7 +1,7 @@
import { MatSnackBarConfig } from '@angular/material/snack-bar';
import { Observable } from 'rxjs';
import {MatSnackBarConfig} from '@angular/material/snack-bar';
import {Observable} from 'rxjs';
export type SnackType = 'ERROR' | 'SUCCESS' | 'CUSTOM' | 'JIRA_UNBLOCK';
export type SnackType = 'ERROR' | 'SUCCESS' | 'CUSTOM' | 'JIRA_UNBLOCK';
export interface SnackParams {
msg: string;

View file

@ -1,13 +1,13 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { StoreModule } from '@ngrx/store';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {StoreModule} from '@ngrx/store';
import * as fromSnack from './store/snack.reducer';
import { SNACK_FEATURE_NAME } from './store/snack.reducer';
import { EffectsModule } from '@ngrx/effects';
import { SnackEffects } from './store/snack.effects';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { SnackCustomComponent } from './snack-custom/snack-custom.component';
import { UiModule } from '../../ui/ui.module';
import {SNACK_FEATURE_NAME} from './store/snack.reducer';
import {EffectsModule} from '@ngrx/effects';
import {SnackEffects} from './store/snack.effects';
import {MatSnackBarModule} from '@angular/material/snack-bar';
import {SnackCustomComponent} from './snack-custom/snack-custom.component';
import {UiModule} from '../../ui/ui.module';
@NgModule({
imports: [

View file

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { Store } from '@ngrx/store';
import { SnackClose, SnackOpen } from './store/snack.actions';
import { SnackParams } from './snack.model';
import {Injectable} from '@angular/core';
import {Store} from '@ngrx/store';
import {SnackClose, SnackOpen} from './store/snack.actions';
import {SnackParams} from './snack.model';
@Injectable({
providedIn: 'root',

View file

@ -1,5 +1,5 @@
import { Action } from '@ngrx/store';
import { SnackParams } from '../snack.model';
import {Action} from '@ngrx/store';
import {SnackParams} from '../snack.model';
export enum SnackActionTypes {
SnackOpen = '[Snack] SnackOpen',

View file

@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { SnackActionTypes, SnackOpen } from './snack.actions';
import { Observable, Subject } from 'rxjs';
import { takeUntil, tap } from 'rxjs/operators';
import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar';
import { Store } from '@ngrx/store';
import { SnackCustomComponent } from '../snack-custom/snack-custom.component';
import { DEFAULT_SNACK_CFG } from '../snack.const';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {SnackActionTypes, SnackOpen} from './snack.actions';
import {Observable, Subject} from 'rxjs';
import {takeUntil, tap} from 'rxjs/operators';
import {MatSnackBar, MatSnackBarRef, SimpleSnackBar} from '@angular/material/snack-bar';
import {Store} from '@ngrx/store';
import {SnackCustomComponent} from '../snack-custom/snack-custom.component';
import {DEFAULT_SNACK_CFG} from '../snack.const';
@Injectable()
export class SnackEffects {

View file

@ -1,4 +1,4 @@
import { SnackActions, SnackActionTypes } from './snack.actions';
import {SnackActions, SnackActionTypes} from './snack.actions';
export const SNACK_FEATURE_NAME = 'snack';

View file

@ -1,9 +1,9 @@
import { Directive, HostListener, Input } from '@angular/core';
import { IS_ELECTRON } from '../../../app.constants';
import { AttachmentType } from '../attachment.model';
import { ElectronService } from 'ngx-electron';
import { SnackService } from '../../../core/snack/snack.service';
import { IPC_EXEC } from '../../../../../electron/ipc-events.const';
import {Directive, HostListener, Input} from '@angular/core';
import {IS_ELECTRON} from '../../../app.constants';
import {AttachmentType} from '../attachment.model';
import {ElectronService} from 'ngx-electron';
import {SnackService} from '../../../core/snack/snack.service';
import {IPC_EXEC} from '../../../../../electron/ipc-events.const';
@Directive({

View file

@ -1,9 +1,9 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { Attachment } from '../attachment.model';
import { AttachmentService } from '../attachment.service';
import { MatDialog } from '@angular/material/dialog';
import { DialogEditAttachmentComponent } from '../dialog-edit-attachment/dialog-edit-attachment.component';
import { standardListAnimation } from '../../../ui/animations/standard-list.ani';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {Attachment} from '../attachment.model';
import {AttachmentService} from '../attachment.service';
import {MatDialog} from '@angular/material/dialog';
import {DialogEditAttachmentComponent} from '../dialog-edit-attachment/dialog-edit-attachment.component';
import {standardListAnimation} from '../../../ui/animations/standard-list.ani';
@Component({
selector: 'attachment-list',

View file

@ -1,4 +1,4 @@
import { DropPasteInput, DropPasteInputType } from '../../core/drop-paste-input/drop-paste-input';
import {DropPasteInput, DropPasteInputType} from '../../core/drop-paste-input/drop-paste-input';
export type AttachmentType = DropPasteInputType;

View file

@ -1,14 +1,14 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { AttachmentEffects } from './store/attachment.effects';
import { UiModule } from '../../ui/ui.module';
import { ATTACHMENT_FEATURE_NAME, attachmentReducer } from './store/attachment.reducer';
import { DialogEditAttachmentComponent } from './dialog-edit-attachment/dialog-edit-attachment.component';
import { FormsModule } from '@angular/forms';
import { AttachmentLinkDirective } from './attachment-link/attachment-link.directive';
import { AttachmentListComponent } from './attachment-list/attachment-list.component';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {StoreModule} from '@ngrx/store';
import {EffectsModule} from '@ngrx/effects';
import {AttachmentEffects} from './store/attachment.effects';
import {UiModule} from '../../ui/ui.module';
import {ATTACHMENT_FEATURE_NAME, attachmentReducer} from './store/attachment.reducer';
import {DialogEditAttachmentComponent} from './dialog-edit-attachment/dialog-edit-attachment.component';
import {FormsModule} from '@angular/forms';
import {AttachmentLinkDirective} from './attachment-link/attachment-link.directive';
import {AttachmentListComponent} from './attachment-list/attachment-list.component';
@NgModule({
imports: [

View file

@ -1,15 +1,25 @@
import { Injectable } from '@angular/core';
import { select, Store } from '@ngrx/store';
import { AttachmentState, initialAttachmentState, selectAllAttachments, selectAttachmentByIds } from './store/attachment.reducer';
import { AddAttachment, DeleteAttachment, DeleteAttachments, LoadAttachmentState, UpdateAttachment } from './store/attachment.actions';
import { Observable } from 'rxjs';
import { Attachment } from './attachment.model';
import {Injectable} from '@angular/core';
import {select, Store} from '@ngrx/store';
import {
AttachmentState,
initialAttachmentState,
selectAllAttachments,
selectAttachmentByIds
} from './store/attachment.reducer';
import {
AddAttachment,
DeleteAttachment,
DeleteAttachments,
LoadAttachmentState,
UpdateAttachment
} from './store/attachment.actions';
import {Observable} from 'rxjs';
import {Attachment} from './attachment.model';
import shortid from 'shortid';
import { DialogEditAttachmentComponent } from './dialog-edit-attachment/dialog-edit-attachment.component';
import { MatDialog } from '@angular/material/dialog';
import { createFromDrop, createFromPaste, DropPasteInput } from '../../core/drop-paste-input/drop-paste-input';
import { PersistenceService } from '../../core/persistence/persistence.service';
import { take } from 'rxjs/operators';
import {DialogEditAttachmentComponent} from './dialog-edit-attachment/dialog-edit-attachment.component';
import {MatDialog} from '@angular/material/dialog';
import {createFromDrop, createFromPaste, DropPasteInput} from '../../core/drop-paste-input/drop-paste-input';
import {PersistenceService} from '../../core/persistence/persistence.service';
@Injectable({
providedIn: 'root',

View file

@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { IS_ELECTRON } from '../../../app.constants';
import { AttachmentCopy, AttachmentType } from '../attachment.model';
import {ChangeDetectionStrategy, Component, Inject, OnInit} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import {IS_ELECTRON} from '../../../app.constants';
import {AttachmentCopy, AttachmentType} from '../attachment.model';
interface AttachmentSelectType {
type: AttachmentType;

View file

@ -1,7 +1,7 @@
import { Action } from '@ngrx/store';
import { Update } from '@ngrx/entity';
import { Attachment } from '../attachment.model';
import { AttachmentState } from './attachment.reducer';
import {Action} from '@ngrx/store';
import {Update} from '@ngrx/entity';
import {Attachment} from '../attachment.model';
import {AttachmentState} from './attachment.reducer';
export enum AttachmentActionTypes {
LoadAttachmentState = '[Attachment] Load Attachment State',

View file

@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { tap, withLatestFrom } from 'rxjs/operators';
import { select, Store } from '@ngrx/store';
import { selectCurrentProjectId } from '../../project/store/project.reducer';
import { AttachmentActionTypes } from './attachment.actions';
import { selectAttachmentFeatureState } from './attachment.reducer';
import { PersistenceService } from '../../../core/persistence/persistence.service';
import { TaskActionTypes } from '../../tasks/store/task.actions';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {tap, withLatestFrom} from 'rxjs/operators';
import {select, Store} from '@ngrx/store';
import {selectCurrentProjectId} from '../../project/store/project.reducer';
import {AttachmentActionTypes} from './attachment.actions';
import {selectAttachmentFeatureState} from './attachment.reducer';
import {PersistenceService} from '../../../core/persistence/persistence.service';
import {TaskActionTypes} from '../../tasks/store/task.actions';
@Injectable()
export class AttachmentEffects {

View file

@ -1,8 +1,8 @@
import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity';
import { AttachmentActions, AttachmentActionTypes } from './attachment.actions';
import { Attachment } from '../attachment.model';
import { createFeatureSelector, createSelector } from '@ngrx/store';
import { DeleteTask, TaskActionTypes, UndoDeleteTask } from '../../tasks/store/task.actions';
import {createEntityAdapter, EntityAdapter, EntityState} from '@ngrx/entity';
import {AttachmentActions, AttachmentActionTypes} from './attachment.actions';
import {Attachment} from '../attachment.model';
import {createFeatureSelector, createSelector} from '@ngrx/store';
import {DeleteTask, TaskActionTypes, UndoDeleteTask} from '../../tasks/store/task.actions';
export const ATTACHMENT_FEATURE_NAME = 'attachment';

View file

@ -1,12 +1,12 @@
import { ChangeDetectionStrategy, Component, ElementRef, HostListener, OnDestroy, ViewChild } from '@angular/core';
import { BookmarkService } from '../bookmark.service';
import { MatDialog } from '@angular/material/dialog';
import { DialogEditBookmarkComponent } from '../dialog-edit-bookmark/dialog-edit-bookmark.component';
import { Bookmark } from '../bookmark.model';
import { fadeAnimation } from '../../../ui/animations/fade.ani';
import { DragulaService } from 'ng2-dragula';
import { Subscription } from 'rxjs';
import { slideAnimation } from '../../../ui/animations/slide.ani';
import {ChangeDetectionStrategy, Component, ElementRef, HostListener, OnDestroy, ViewChild} from '@angular/core';
import {BookmarkService} from '../bookmark.service';
import {MatDialog} from '@angular/material/dialog';
import {DialogEditBookmarkComponent} from '../dialog-edit-bookmark/dialog-edit-bookmark.component';
import {Bookmark} from '../bookmark.model';
import {fadeAnimation} from '../../../ui/animations/fade.ani';
import {DragulaService} from 'ng2-dragula';
import {Subscription} from 'rxjs';
import {slideAnimation} from '../../../ui/animations/slide.ani';
@Component({
selector: 'bookmark-bar',
@ -26,7 +26,7 @@ export class BookmarkBarComponent implements OnDestroy {
bookmarkBarHeight = 50;
@ViewChild('bookmarkBar', { read: ElementRef, static: false }) set bookmarkBarEl(content: ElementRef) {
@ViewChild('bookmarkBar', {read: ElementRef, static: false}) set bookmarkBarEl(content: ElementRef) {
if (content && content.nativeElement) {
this.bookmarkBarHeight = content.nativeElement.offsetHeight;
}

View file

@ -1,9 +1,9 @@
import { Directive, HostListener, Input } from '@angular/core';
import { IS_ELECTRON } from '../../../app.constants';
import { BookmarkType } from '../bookmark.model';
import { ElectronService } from 'ngx-electron';
import { SnackService } from '../../../core/snack/snack.service';
import { IPC_EXEC } from '../../../../../electron/ipc-events.const';
import {Directive, HostListener, Input} from '@angular/core';
import {IS_ELECTRON} from '../../../app.constants';
import {BookmarkType} from '../bookmark.model';
import {ElectronService} from 'ngx-electron';
import {SnackService} from '../../../core/snack/snack.service';
import {IPC_EXEC} from '../../../../../electron/ipc-events.const';
@Directive({

View file

@ -1,4 +1,4 @@
import { DropPasteInput, DropPasteInputType } from '../../core/drop-paste-input/drop-paste-input';
import {DropPasteInput, DropPasteInputType} from '../../core/drop-paste-input/drop-paste-input';
export type BookmarkType = DropPasteInputType;

View file

@ -1,14 +1,14 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BookmarkBarComponent } from './bookmark-bar/bookmark-bar.component';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { BookmarkEffects } from './store/bookmark.effects';
import { UiModule } from '../../ui/ui.module';
import { BOOKMARK_FEATURE_NAME, bookmarkReducer } from './store/bookmark.reducer';
import { DialogEditBookmarkComponent } from './dialog-edit-bookmark/dialog-edit-bookmark.component';
import { FormsModule } from '@angular/forms';
import { BookmarkLinkDirective } from './bookmark-link/bookmark-link.directive';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {BookmarkBarComponent} from './bookmark-bar/bookmark-bar.component';
import {StoreModule} from '@ngrx/store';
import {EffectsModule} from '@ngrx/effects';
import {BookmarkEffects} from './store/bookmark.effects';
import {UiModule} from '../../ui/ui.module';
import {BOOKMARK_FEATURE_NAME, bookmarkReducer} from './store/bookmark.reducer';
import {DialogEditBookmarkComponent} from './dialog-edit-bookmark/dialog-edit-bookmark.component';
import {FormsModule} from '@angular/forms';
import {BookmarkLinkDirective} from './bookmark-link/bookmark-link.directive';
@NgModule({
imports: [

View file

@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { select, Store } from '@ngrx/store';
import {Injectable} from '@angular/core';
import {select, Store} from '@ngrx/store';
import {
BookmarkState,
initialBookmarkState,
@ -16,13 +16,13 @@ import {
ToggleBookmarks,
UpdateBookmark
} from './store/bookmark.actions';
import { Observable } from 'rxjs';
import { Bookmark } from './bookmark.model';
import {Observable} from 'rxjs';
import {Bookmark} from './bookmark.model';
import shortid from 'shortid';
import { DialogEditBookmarkComponent } from './dialog-edit-bookmark/dialog-edit-bookmark.component';
import { MatDialog } from '@angular/material/dialog';
import { PersistenceService } from '../../core/persistence/persistence.service';
import { createFromDrop, createFromPaste, DropPasteInput } from '../../core/drop-paste-input/drop-paste-input';
import {DialogEditBookmarkComponent} from './dialog-edit-bookmark/dialog-edit-bookmark.component';
import {MatDialog} from '@angular/material/dialog';
import {PersistenceService} from '../../core/persistence/persistence.service';
import {createFromDrop, createFromPaste, DropPasteInput} from '../../core/drop-paste-input/drop-paste-input';
@Injectable({
providedIn: 'root',

View file

@ -3,6 +3,7 @@
flex-wrap: wrap;
flex-direction: column;
}
.form-wrapper {
display: flex;
flex-direction: column;

View file

@ -1,7 +1,7 @@
import { Action } from '@ngrx/store';
import { Update } from '@ngrx/entity';
import { Bookmark } from '../bookmark.model';
import { BookmarkState } from './bookmark.reducer';
import {Action} from '@ngrx/store';
import {Update} from '@ngrx/entity';
import {Bookmark} from '../bookmark.model';
import {BookmarkState} from './bookmark.reducer';
export enum BookmarkActionTypes {
LoadBookmarkState = '[Bookmark] Load Bookmark State',

View file

@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { tap, withLatestFrom } from 'rxjs/operators';
import { select, Store } from '@ngrx/store';
import { selectCurrentProjectId } from '../../project/store/project.reducer';
import { BookmarkActionTypes } from './bookmark.actions';
import { selectBookmarkFeatureState } from './bookmark.reducer';
import { PersistenceService } from '../../../core/persistence/persistence.service';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {tap, withLatestFrom} from 'rxjs/operators';
import {select, Store} from '@ngrx/store';
import {selectCurrentProjectId} from '../../project/store/project.reducer';
import {BookmarkActionTypes} from './bookmark.actions';
import {selectBookmarkFeatureState} from './bookmark.reducer';
import {PersistenceService} from '../../../core/persistence/persistence.service';
@Injectable()
export class BookmarkEffects {

View file

@ -1,5 +1,5 @@
import { bookmarkReducer, initialBookmarkState } from './bookmark.reducer';
import { ToggleBookmarks } from './bookmark.actions';
import {bookmarkReducer, initialBookmarkState} from './bookmark.reducer';
import {ToggleBookmarks} from './bookmark.actions';
describe('Bookmark Reducer', () => {
describe('unknown action', () => {

View file

@ -1,7 +1,7 @@
import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity';
import { BookmarkActions, BookmarkActionTypes } from './bookmark.actions';
import { Bookmark } from '../bookmark.model';
import { createFeatureSelector, createSelector } from '@ngrx/store';
import {createEntityAdapter, EntityAdapter, EntityState} from '@ngrx/entity';
import {BookmarkActions, BookmarkActionTypes} from './bookmark.actions';
import {Bookmark} from '../bookmark.model';
import {createFeatureSelector, createSelector} from '@ngrx/store';
export const BOOKMARK_FEATURE_NAME = 'bookmark';

View file

@ -1,8 +1,8 @@
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { FormGroup } from '@angular/forms';
import { GlobalConfigSectionKey } from '../global-config.model';
import { ProjectCfgFormKey } from '../../project/project.model';
import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';
import {FormlyFieldConfig, FormlyFormOptions} from '@ngx-formly/core';
import {FormGroup} from '@angular/forms';
import {GlobalConfigSectionKey} from '../global-config.model';
import {ProjectCfgFormKey} from '../../project/project.model';
@Component({
selector: 'config-form',

View file

@ -12,14 +12,14 @@ import {
ViewChild,
ViewContainerRef
} from '@angular/core';
import { expandAnimation } from '../../../ui/animations/expand.ani';
import { ConfigFormSection, GlobalConfigSectionKey } from '../global-config.model';
import { ProjectCfgFormKey } from '../../project/project.model';
import { GoogleSyncCfgComponent } from '../../google/google-sync-cfg/google-sync-cfg.component';
import { JiraCfgComponent } from '../../issue/jira/jira-cfg/jira-cfg.component';
import { FileImexComponent } from '../../../imex/file-imex/file-imex.component';
import { ProjectService } from '../../project/project.service';
import { Subscription } from 'rxjs';
import {expandAnimation} from '../../../ui/animations/expand.ani';
import {ConfigFormSection, GlobalConfigSectionKey} from '../global-config.model';
import {ProjectCfgFormKey} from '../../project/project.model';
import {GoogleSyncCfgComponent} from '../../google/google-sync-cfg/google-sync-cfg.component';
import {JiraCfgComponent} from '../../issue/jira/jira-cfg/jira-cfg.component';
import {FileImexComponent} from '../../../imex/file-imex/file-imex.component';
import {ProjectService} from '../../project/project.service';
import {Subscription} from 'rxjs';
@Component({
selector: 'config-section',
@ -33,7 +33,7 @@ export class ConfigSectionComponent implements OnInit, OnDestroy {
@Input() cfg: any;
@Output() save: EventEmitter<{ sectionKey: GlobalConfigSectionKey | ProjectCfgFormKey, config: any }> = new EventEmitter();
@ViewChild('customForm', { read: ViewContainerRef, static: true }) customFormRef: ViewContainerRef;
@ViewChild('customForm', {read: ViewContainerRef, static: true}) customFormRef: ViewContainerRef;
isExpanded = false;

View file

@ -1,18 +1,18 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { StoreModule } from '@ngrx/store';
import { CONFIG_FEATURE_NAME, globalConfigReducer } from './store/global-config.reducer';
import { EffectsModule } from '@ngrx/effects';
import { GlobalConfigEffects } from './store/global-config.effects';
import { ConfigSectionComponent } from './config-section/config-section.component';
import { ConfigFormComponent } from './config-form/config-form.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { FormlyModule } from '@ngx-formly/core';
import { FormlyMaterialModule } from '@ngx-formly/material';
import { UiModule } from '../../ui/ui.module';
import { KeyboardInputComponent } from './keyboard-input/keyboard-input.component';
import { GoogleSyncCfgComponent } from '../google/google-sync-cfg/google-sync-cfg.component';
import { FileImexModule } from '../../imex/file-imex/file-imex.module';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {StoreModule} from '@ngrx/store';
import {CONFIG_FEATURE_NAME, globalConfigReducer} from './store/global-config.reducer';
import {EffectsModule} from '@ngrx/effects';
import {GlobalConfigEffects} from './store/global-config.effects';
import {ConfigSectionComponent} from './config-section/config-section.component';
import {ConfigFormComponent} from './config-form/config-form.component';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {FormlyModule} from '@ngx-formly/core';
import {FormlyMaterialModule} from '@ngx-formly/material';
import {UiModule} from '../../ui/ui.module';
import {KeyboardInputComponent} from './keyboard-input/keyboard-input.component';
import {GoogleSyncCfgComponent} from '../google/google-sync-cfg/google-sync-cfg.component';
import {FileImexModule} from '../../imex/file-imex/file-imex.module';
@NgModule({
imports: [

View file

@ -1,5 +1,5 @@
// tslint:disable:max-line-length
import { ConfigFormSection } from '../global-config.model';
import {ConfigFormSection} from '../global-config.model';
export const KEYBOARD_SETTINGS_FORM_CFG: ConfigFormSection = {
title: 'Keyboard Shortcuts',

View file

@ -1,5 +1,5 @@
// tslint:disable:max-line-length
import { ConfigFormSection } from '../global-config.model';
import {ConfigFormSection} from '../global-config.model';
export const POMODORO_FORM_CFG: ConfigFormSection = {
title: 'Pomodoro Settings',

View file

@ -1,5 +1,5 @@
// tslint:disable:max-line-length
import { ConfigFormSection } from '../global-config.model';
import {ConfigFormSection} from '../global-config.model';
export const TAKE_A_BREAK_FORM_CFG: ConfigFormSection = {
title: 'Break Reminder',

View file

@ -1,7 +1,7 @@
import { MISC_SETTINGS_FORM_CFG } from './form-cfgs/misc-settings-form.const';
import { KEYBOARD_SETTINGS_FORM_CFG } from './form-cfgs/keyboard-form.const';
import { ConfigFormConfig } from './global-config.model';
import { POMODORO_FORM_CFG } from './form-cfgs/pomodoro-form.const';
import {MISC_SETTINGS_FORM_CFG} from './form-cfgs/misc-settings-form.const';
import {KEYBOARD_SETTINGS_FORM_CFG} from './form-cfgs/keyboard-form.const';
import {ConfigFormConfig} from './global-config.model';
import {POMODORO_FORM_CFG} from './form-cfgs/pomodoro-form.const';
import {IDLE_FORM_CFG} from './form-cfgs/idle-form.const';
import {TAKE_A_BREAK_FORM_CFG} from './form-cfgs/take-a-break-form.const';

View file

@ -1,5 +1,5 @@
import { FormlyFieldConfig } from '@ngx-formly/core';
import { ProjectCfgFormKey } from '../project/project.model';
import {FormlyFieldConfig} from '@ngx-formly/core';
import {ProjectCfgFormKey} from '../project/project.model';
export type KeyboardConfig = Readonly<{
globalShowHide: string,

View file

@ -8,13 +8,15 @@ import {
GlobalSectionConfig,
GoogleSession,
IdleConfig,
MiscConfig, TakeABreakConfig
MiscConfig,
TakeABreakConfig
} from './global-config.model';
import {
selectConfigFeatureState,
selectGoogleSession,
selectIdleConfig,
selectMiscConfig, selectTakeABreakConfig
selectMiscConfig,
selectTakeABreakConfig
} from './store/global-config.reducer';
import {PersistenceService} from '../../core/persistence/persistence.service';
import {Actions, ofType} from '@ngrx/effects';

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
import { FieldType } from '@ngx-formly/material/form-field';
import { MatInput } from '@angular/material/input';
import {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';
import {FieldType} from '@ngx-formly/material/form-field';
import {MatInput} from '@angular/material/input';
@Component({
selector: 'keyboard-input',
@ -9,7 +9,7 @@ import { MatInput } from '@angular/material/input';
changeDetection: ChangeDetectionStrategy.OnPush
})
export class KeyboardInputComponent extends FieldType {
@ViewChild(MatInput, { static: true }) formFieldControl: MatInput;
@ViewChild(MatInput, {static: true}) formFieldControl: MatInput;
get type() {
return this.to.type || 'text';

View file

@ -1,5 +1,5 @@
import { Action } from '@ngrx/store';
import { GlobalConfigSectionKey, GlobalConfigState, GlobalSectionConfig } from '../global-config.model';
import {Action} from '@ngrx/store';
import {GlobalConfigSectionKey, GlobalConfigState, GlobalSectionConfig} from '../global-config.model';
export enum GlobalConfigActionTypes {
LoadGlobalConfig = '[Global Config] Load Global Config',

View file

@ -1,15 +1,15 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { filter, tap, withLatestFrom } from 'rxjs/operators';
import { GlobalConfigActionTypes, LoadGlobalConfig, UpdateGlobalConfigSection } from './global-config.actions';
import { Store } from '@ngrx/store';
import { CONFIG_FEATURE_NAME } from './global-config.reducer';
import { PersistenceService } from '../../../core/persistence/persistence.service';
import { SnackOpen } from '../../../core/snack/store/snack.actions';
import { ElectronService } from 'ngx-electron';
import { KeyboardConfig } from '../global-config.model';
import { IPC_REGISTER_GLOBAL_SHORTCUTS_EVENT } from '../../../../../electron/ipc-events.const';
import { IS_ELECTRON } from '../../../app.constants';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {filter, tap, withLatestFrom} from 'rxjs/operators';
import {GlobalConfigActionTypes, LoadGlobalConfig, UpdateGlobalConfigSection} from './global-config.actions';
import {Store} from '@ngrx/store';
import {CONFIG_FEATURE_NAME} from './global-config.reducer';
import {PersistenceService} from '../../../core/persistence/persistence.service';
import {SnackOpen} from '../../../core/snack/store/snack.actions';
import {ElectronService} from 'ngx-electron';
import {KeyboardConfig} from '../global-config.model';
import {IPC_REGISTER_GLOBAL_SHORTCUTS_EVENT} from '../../../../../electron/ipc-events.const';
import {IS_ELECTRON} from '../../../app.constants';
@Injectable()
export class GlobalConfigEffects {

View file

@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
@Component({
selector: 'dialog-confirm-drive-sync-load',

View file

@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
@Component({
selector: 'dialog-confirm-drive-sync-save',

View file

@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {Store} from '@ngrx/store';
import {
ChangeSyncFileName,
GoogleDriveSyncActionTypes,
@ -8,12 +8,12 @@ import {
SaveForSync,
SaveToGoogleDriveFlow
} from './store/google-drive-sync.actions';
import { selectIsGoogleDriveLoadInProgress, selectIsGoogleDriveSaveInProgress } from './store/google-drive-sync.reducer';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { GlobalConfigService } from '../config/global-config.service';
import { SyncService } from '../../imex/sync/sync.service';
import { Actions, ofType } from '@ngrx/effects';
import { GoogleDriveSyncConfig } from '../config/global-config.model';
import {selectIsGoogleDriveLoadInProgress, selectIsGoogleDriveSaveInProgress} from './store/google-drive-sync.reducer';
import {distinctUntilChanged, map} from 'rxjs/operators';
import {GlobalConfigService} from '../config/global-config.service';
import {SyncService} from '../../imex/sync/sync.service';
import {Actions, ofType} from '@ngrx/effects';
import {GoogleDriveSyncConfig} from '../config/global-config.model';
@Injectable({
providedIn: 'root',

View file

@ -80,31 +80,31 @@
</button>
<br>
<mat-checkbox [(ngModel)]="cfg.isAutoLogin"
name="isAutoLogin"
aria-label="Auto login at when starting app">
name="isAutoLogin"
aria-label="Auto login at when starting app">
Auto login at when starting app
</mat-checkbox>
<section *ngIf="cfg.isAutoLogin"
class="auto-sync-settings">
<mat-checkbox [(ngModel)]="cfg.isLoadRemoteDataOnStartup"
name="isLoadRemoteDataOnStartup"
aria-label="Load remote data on startup">
name="isLoadRemoteDataOnStartup"
aria-label="Load remote data on startup">
Load remote data on startup
</mat-checkbox>
<mat-checkbox [(ngModel)]="cfg.isAutoSyncToRemote"
name="isAutoSyncToRemote"
aria-label="Auto sync data TO remote">
name="isAutoSyncToRemote"
aria-label="Auto sync data TO remote">
Auto sync data TO remote
</mat-checkbox>
<mat-checkbox [(ngModel)]="cfg.isCompressData"
name="isCompressData"
aria-label="Compress Data">
name="isCompressData"
aria-label="Compress Data">
Compress Data
</mat-checkbox>
<mat-checkbox [(ngModel)]="cfg.isNotifyOnSync"
name="isNotifyOnSync"
aria-label="Notify when syncing">
name="isNotifyOnSync"
aria-label="Notify when syncing">
Notify when syncing
</mat-checkbox>

View file

@ -26,7 +26,7 @@
margin-left: 0;
}
::ng-deep .mat-button-wrapper{
::ng-deep .mat-button-wrapper {
text-overflow: ellipsis;
overflow: hidden;
}

View file

@ -1,12 +1,21 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
import { GoogleApiService } from '../google-api.service';
import { GlobalConfigService } from '../../config/global-config.service';
import { GoogleDriveSyncService } from '../google-drive-sync.service';
import { SnackService } from '../../../core/snack/snack.service';
import { GoogleDriveSyncConfig } from '../../config/global-config.model';
import { Subscription } from 'rxjs';
import { expandFadeAnimation } from '../../../ui/animations/expand.ani';
import { FormGroup } from '@angular/forms';
import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
EventEmitter,
OnDestroy,
OnInit,
Output,
ViewChild
} from '@angular/core';
import {GoogleApiService} from '../google-api.service';
import {GlobalConfigService} from '../../config/global-config.service';
import {GoogleDriveSyncService} from '../google-drive-sync.service';
import {SnackService} from '../../../core/snack/snack.service';
import {GoogleDriveSyncConfig} from '../../config/global-config.model';
import {Subscription} from 'rxjs';
import {expandFadeAnimation} from '../../../ui/animations/expand.ani';
import {FormGroup} from '@angular/forms';
@Component({
selector: 'google-sync-cfg',
@ -20,7 +29,7 @@ export class GoogleSyncCfgComponent implements OnInit, OnDestroy {
cfg: GoogleDriveSyncConfig;
loginPromise: Promise<any>;
@ViewChild('formRef', { static: true }) formRef: FormGroup;
@ViewChild('formRef', {static: true}) formRef: FormGroup;
@Output() save = new EventEmitter<any>();

View file

@ -1,15 +1,15 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { UiModule } from '../../ui/ui.module';
import { DialogConfirmDriveSyncLoadComponent } from './dialog-confirm-drive-sync-load/dialog-confirm-drive-sync-load.component';
import { DialogConfirmDriveSyncSaveComponent } from './dialog-confirm-drive-sync-save/dialog-confirm-drive-sync-save.component';
import { GoogleExportTimeComponent } from './google-export-time/google-export-time.component';
import { EffectsModule } from '@ngrx/effects';
import { GoogleDriveSyncEffects } from './store/google-drive-sync.effects';
import { StoreModule } from '@ngrx/store';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {UiModule} from '../../ui/ui.module';
import {DialogConfirmDriveSyncLoadComponent} from './dialog-confirm-drive-sync-load/dialog-confirm-drive-sync-load.component';
import {DialogConfirmDriveSyncSaveComponent} from './dialog-confirm-drive-sync-save/dialog-confirm-drive-sync-save.component';
import {GoogleExportTimeComponent} from './google-export-time/google-export-time.component';
import {EffectsModule} from '@ngrx/effects';
import {GoogleDriveSyncEffects} from './store/google-drive-sync.effects';
import {StoreModule} from '@ngrx/store';
import * as fromGoogleDriveSync from './store/google-drive-sync.reducer';
import { GOOGLE_DRIVE_FEATURE_NAME } from './store/google-drive-sync.reducer';
import {GOOGLE_DRIVE_FEATURE_NAME} from './store/google-drive-sync.reducer';
@NgModule({
imports: [

View file

@ -1,4 +1,4 @@
import { Action } from '@ngrx/store';
import {Action} from '@ngrx/store';
export enum GoogleDriveSyncActionTypes {
LoadFromGoogleDrive = '[GoogleDriveSync] Load From',

View file

@ -35,7 +35,7 @@ import {
SaveToGoogleDriveSuccess
} from './google-drive-sync.actions';
import {DialogConfirmComponent} from '../../../ui/dialog-confirm/dialog-confirm.component';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import {MatDialog, MatDialogRef} from '@angular/material/dialog';
import {GoogleDriveSyncConfig} from '../../config/global-config.model';
import {SyncService} from '../../../imex/sync/sync.service';
import {SnackOpen} from '../../../core/snack/store/snack.actions';
@ -229,7 +229,7 @@ export class GoogleDriveSyncEffects {
from(this._getLocalAppData()).pipe(
withLatestFrom(this.config$),
concatMap(([completeData, cfg]) => {
const contentObs: Observable<string|AppDataComplete> = (cfg.isCompressData)
const contentObs: Observable<string | AppDataComplete> = (cfg.isCompressData)
? from(this._compressionService.compressUTF16(JSON.stringify(completeData)))
: of(completeData);

View file

@ -1,5 +1,5 @@
import { Action, createFeatureSelector, createSelector } from '@ngrx/store';
import { GoogleDriveSyncActionTypes } from './google-drive-sync.actions';
import {Action, createFeatureSelector, createSelector} from '@ngrx/store';
import {GoogleDriveSyncActionTypes} from './google-drive-sync.actions';
export const GOOGLE_DRIVE_FEATURE_NAME = 'googleDrive';

View file

@ -1,10 +1,9 @@
import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { GithubCfg } from '../github';
import { FormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { DEFAULT_GITHUB_CFG, GITHUB_CONFIG_FORM } from '../github.const';
import {dirtyDeepCopy} from '../../../../util/dirtyDeepCopy';
import {ChangeDetectionStrategy, Component, Inject, OnInit} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import {GithubCfg} from '../github';
import {FormGroup} from '@angular/forms';
import {FormlyFieldConfig} from '@ngx-formly/core';
import {DEFAULT_GITHUB_CFG, GITHUB_CONFIG_FORM} from '../github.const';
@Component({
selector: 'dialog-github-initial-setup',

View file

@ -1,18 +1,18 @@
import { Injectable } from '@angular/core';
import { ProjectService } from '../../project/project.service';
import { GithubCfg } from './github';
import { SnackService } from '../../../core/snack/snack.service';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { GITHUB_API_BASE_URL, GITHUB_MAX_CACHE_AGE } from './github.const';
import { combineLatest, from, Observable, ObservableInput, Subject, throwError } from 'rxjs';
import { GithubOriginalComment, GithubOriginalIssue } from './github-api-responses';
import { catchError, map, share, switchMap, take, tap } from 'rxjs/operators';
import { mapGithubIssue, mapGithubIssueToSearchResult } from './github-issue/github-issue-map.util';
import { GithubComment, GithubIssue } from './github-issue/github-issue.model';
import { SearchResultItem } from '../issue';
import { loadFromLs, saveToLs } from '../../../core/persistence/local-storage';
import { LS_GITHUB_ISSUE_CACHE_PREFIX } from '../../../core/persistence/ls-keys.const';
import { HANDLED_ERROR } from '../../../app.constants';
import {Injectable} from '@angular/core';
import {ProjectService} from '../../project/project.service';
import {GithubCfg} from './github';
import {SnackService} from '../../../core/snack/snack.service';
import {HttpClient, HttpErrorResponse} from '@angular/common/http';
import {GITHUB_API_BASE_URL, GITHUB_MAX_CACHE_AGE} from './github.const';
import {combineLatest, from, Observable, ObservableInput, Subject, throwError} from 'rxjs';
import {GithubOriginalComment, GithubOriginalIssue} from './github-api-responses';
import {catchError, map, share, switchMap, take, tap} from 'rxjs/operators';
import {mapGithubIssue, mapGithubIssueToSearchResult} from './github-issue/github-issue-map.util';
import {GithubComment, GithubIssue} from './github-issue/github-issue.model';
import {SearchResultItem} from '../issue';
import {loadFromLs, saveToLs} from '../../../core/persistence/local-storage';
import {LS_GITHUB_ISSUE_CACHE_PREFIX} from '../../../core/persistence/ls-keys.const';
import {HANDLED_ERROR} from '../../../app.constants';
const BASE = GITHUB_API_BASE_URL;

View file

@ -1,9 +1,9 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../../../tasks/task.model';
import { GithubIssueService } from '../github-issue.service';
import { GithubApiService } from '../../github-api.service';
import { GithubIssue } from '../github-issue.model';
import { expandAnimation } from '../../../../../ui/animations/expand.ani';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../../../tasks/task.model';
import {GithubIssueService} from '../github-issue.service';
import {GithubApiService} from '../../github-api.service';
import {GithubIssue} from '../github-issue.model';
import {expandAnimation} from '../../../../../ui/animations/expand.ani';
@Component({
selector: 'github-issue-content',

View file

@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../../../tasks/task.model';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../../../tasks/task.model';
@Component({
selector: 'github-issue-header',

View file

@ -1,6 +1,6 @@
import { GithubIssue } from './github-issue.model';
import { GithubOriginalIssue } from '../github-api-responses';
import { IssueProviderKey, SearchResultItem } from '../../issue';
import {GithubIssue} from './github-issue.model';
import {GithubOriginalIssue} from '../github-api-responses';
import {IssueProviderKey, SearchResultItem} from '../../issue';
export const mapGithubIssue = (issue: GithubOriginalIssue): GithubIssue => {
return {

View file

@ -1,13 +1,13 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { UiModule } from '../../../../ui/ui.module';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { GithubIssueEffects } from './store/github-issue.effects';
import { GITHUB_ISSUE_FEATURE_NAME, githubIssueReducer } from './store/github-issue.reducer';
import { GithubIssueHeaderComponent } from './github-issue-header/github-issue-header.component';
import { GithubIssueContentComponent } from './github-issue-content/github-issue-content.component';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {UiModule} from '../../../../ui/ui.module';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {StoreModule} from '@ngrx/store';
import {EffectsModule} from '@ngrx/effects';
import {GithubIssueEffects} from './store/github-issue.effects';
import {GITHUB_ISSUE_FEATURE_NAME, githubIssueReducer} from './store/github-issue.reducer';
import {GithubIssueHeaderComponent} from './github-issue-header/github-issue-header.component';
import {GithubIssueContentComponent} from './github-issue-content/github-issue-content.component';
@NgModule({
imports: [

View file

@ -1,16 +1,16 @@
import { Injectable } from '@angular/core';
import { GithubIssue } from './github-issue.model';
import { select, Store } from '@ngrx/store';
import { GithubIssueActionTypes } from './store/github-issue.actions';
import { PersistenceService } from '../../../../core/persistence/persistence.service';
import { GithubIssueState, selectGithubIssueById } from './store/github-issue.reducer';
import { take } from 'rxjs/operators';
import { GithubApiService } from '../github-api.service';
import { SnackService } from '../../../../core/snack/snack.service';
import { GithubCfg } from '../github';
import { Observable } from 'rxjs';
import { GITHUB_TYPE } from '../../issue.const';
import { truncate } from '../../../../util/truncate';
import {Injectable} from '@angular/core';
import {GithubIssue} from './github-issue.model';
import {select, Store} from '@ngrx/store';
import {GithubIssueActionTypes} from './store/github-issue.actions';
import {PersistenceService} from '../../../../core/persistence/persistence.service';
import {GithubIssueState, selectGithubIssueById} from './store/github-issue.reducer';
import {take} from 'rxjs/operators';
import {GithubApiService} from '../github-api.service';
import {SnackService} from '../../../../core/snack/snack.service';
import {GithubCfg} from '../github';
import {Observable} from 'rxjs';
import {GITHUB_TYPE} from '../../issue.const';
import {truncate} from '../../../../util/truncate';
@Injectable({

View file

@ -1,8 +1,7 @@
import { Action } from '@ngrx/store';
import { Update } from '@ngrx/entity';
import { GithubIssue } from '../github-issue.model';
import { GithubIssueState } from './github-issue.reducer';
import { AddTask, DeleteTask, MoveToArchive, RestoreTask } from '../../../../tasks/store/task.actions';
import {Action} from '@ngrx/store';
import {Update} from '@ngrx/entity';
import {GithubIssue} from '../github-issue.model';
import {GithubIssueState} from './github-issue.reducer';
export enum GithubIssueActionTypes {
LoadState = '[GithubIssue] Load GithubIssue State',

View file

@ -1,24 +1,24 @@
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { GithubIssueActionTypes } from './github-issue.actions';
import { select, Store } from '@ngrx/store';
import { delay, filter, map, switchMap, tap, throttleTime, withLatestFrom } from 'rxjs/operators';
import { TaskActionTypes } from '../../../../tasks/store/task.actions';
import { PersistenceService } from '../../../../../core/persistence/persistence.service';
import { selectAllGithubIssues, selectGithubIssueFeatureState } from './github-issue.reducer';
import { selectCurrentProjectId, selectProjectGithubCfg } from '../../../../project/store/project.reducer';
import { GithubApiService } from '../../github-api.service';
import { GithubIssueService } from '../github-issue.service';
import { GlobalConfigService } from '../../../../config/global-config.service';
import { SnackService } from '../../../../../core/snack/snack.service';
import { TaskService } from '../../../../tasks/task.service';
import { Task } from '../../../../tasks/task.model';
import { ProjectActionTypes } from '../../../../project/store/project.actions';
import { GITHUB_TYPE } from '../../../issue.const';
import { EMPTY, timer } from 'rxjs';
import { GITHUB_INITIAL_POLL_DELAY, GITHUB_POLL_INTERVAL, } from '../../github.const';
import { GithubCfg } from '../../github';
import { GithubIssue } from '../github-issue.model';
import {Injectable} from '@angular/core';
import {Actions, Effect, ofType} from '@ngrx/effects';
import {GithubIssueActionTypes} from './github-issue.actions';
import {select, Store} from '@ngrx/store';
import {delay, filter, map, switchMap, tap, throttleTime, withLatestFrom} from 'rxjs/operators';
import {TaskActionTypes} from '../../../../tasks/store/task.actions';
import {PersistenceService} from '../../../../../core/persistence/persistence.service';
import {selectAllGithubIssues, selectGithubIssueFeatureState} from './github-issue.reducer';
import {selectCurrentProjectId, selectProjectGithubCfg} from '../../../../project/store/project.reducer';
import {GithubApiService} from '../../github-api.service';
import {GithubIssueService} from '../github-issue.service';
import {GlobalConfigService} from '../../../../config/global-config.service';
import {SnackService} from '../../../../../core/snack/snack.service';
import {TaskService} from '../../../../tasks/task.service';
import {Task} from '../../../../tasks/task.model';
import {ProjectActionTypes} from '../../../../project/store/project.actions';
import {GITHUB_TYPE} from '../../../issue.const';
import {EMPTY, timer} from 'rxjs';
import {GITHUB_INITIAL_POLL_DELAY, GITHUB_POLL_INTERVAL,} from '../../github.const';
import {GithubCfg} from '../../github';
import {GithubIssue} from '../github-issue.model';
const isRepoConfigured_ = (githubCfg) => githubCfg && githubCfg.repo && githubCfg.repo.length > 2;
const isRepoConfigured = ([a, githubCfg]) => isRepoConfigured_(githubCfg);

View file

@ -1,10 +1,10 @@
import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity';
import { GithubIssueActions, GithubIssueActionTypes } from './github-issue.actions';
import { GithubIssue } from '../github-issue.model';
import { createFeatureSelector, createSelector } from '@ngrx/store';
import { TaskActions, TaskActionTypes } from '../../../../tasks/store/task.actions';
import { IssueProviderKey } from '../../../issue';
import { GITHUB_TYPE, LEGACY_GITHUB_TYPE } from '../../../issue.const';
import {createEntityAdapter, EntityAdapter, EntityState} from '@ngrx/entity';
import {GithubIssueActions, GithubIssueActionTypes} from './github-issue.actions';
import {GithubIssue} from '../github-issue.model';
import {createFeatureSelector, createSelector} from '@ngrx/store';
import {TaskActions, TaskActionTypes} from '../../../../tasks/store/task.actions';
import {IssueProviderKey} from '../../../issue';
import {GITHUB_TYPE, LEGACY_GITHUB_TYPE} from '../../../issue.const';
export const GITHUB_ISSUE_FEATURE_NAME: IssueProviderKey = GITHUB_TYPE;

View file

@ -1,6 +1,6 @@
// TODO use as a checklist
import { GithubCfg } from './github';
import { FormlyFieldConfig } from '@ngx-formly/core';
import {GithubCfg} from './github';
import {FormlyFieldConfig} from '@ngx-formly/core';
export const DEFAULT_GITHUB_CFG: GithubCfg = {
repo: null,

View file

@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { UiModule } from '../../../ui/ui.module';
import { DialogGithubInitialSetupComponent } from './dialog-github-initial-setup/dialog-github-initial-setup.component';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {UiModule} from '../../../ui/ui.module';
import {DialogGithubInitialSetupComponent} from './dialog-github-initial-setup/dialog-github-initial-setup.component';
@NgModule({
imports: [

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../tasks/task.model';
import { GITHUB_TYPE, JIRA_TYPE } from '../issue.const';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../tasks/task.model';
import {GITHUB_TYPE, JIRA_TYPE} from '../issue.const';
@Component({
selector: 'issue-content',

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../tasks/task.model';
import { GITHUB_TYPE, JIRA_TYPE } from '../issue.const';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../tasks/task.model';
import {GITHUB_TYPE, JIRA_TYPE} from '../issue.const';
@Component({
selector: 'issue-header',

View file

@ -1,6 +1,6 @@
import { Pipe, PipeTransform } from '@angular/core';
import { IssueProviderKey } from '../issue';
import { issueProviderIconMap } from '../issue.const';
import {Pipe, PipeTransform} from '@angular/core';
import {IssueProviderKey} from '../issue';
import {issueProviderIconMap} from '../issue.const';
@Pipe({
name: 'issueIcon'

View file

@ -1,7 +1,7 @@
import { ConfigFormConfig } from '../config/global-config.model';
import { DEFAULT_JIRA_CFG, JIRA_ADVANCED_FORM_CFG, JIRA_CREDENTIALS_FORM_CFG } from './jira/jira.const';
import { IssueProviderKey } from './issue';
import { DEFAULT_GITHUB_CFG, GITHUB_CONFIG_FORM } from './github/github.const';
import {ConfigFormConfig} from '../config/global-config.model';
import {DEFAULT_JIRA_CFG, JIRA_ADVANCED_FORM_CFG, JIRA_CREDENTIALS_FORM_CFG} from './jira/jira.const';
import {IssueProviderKey} from './issue';
import {DEFAULT_GITHUB_CFG, GITHUB_CONFIG_FORM} from './github/github.const';
export const LEGACY_GITHUB_TYPE = 'GIT';

View file

@ -1,9 +1,9 @@
import { JiraIssue } from './jira/jira-issue/jira-issue.model';
import { JiraCfg } from './jira/jira';
import { GithubCfg } from './github/github';
import { GithubIssue } from './github/github-issue/github-issue.model';
import { JiraIssueState } from './jira/jira-issue/store/jira-issue.reducer';
import { GithubIssueState } from './github/github-issue/store/github-issue.reducer';
import {JiraIssue} from './jira/jira-issue/jira-issue.model';
import {JiraCfg} from './jira/jira';
import {GithubCfg} from './github/github';
import {GithubIssue} from './github/github-issue/github-issue.model';
import {JiraIssueState} from './jira/jira-issue/store/jira-issue.reducer';
import {GithubIssueState} from './github/github-issue/store/github-issue.reducer';
export type IssueProviderKey = 'JIRA' | 'GITHUB';

View file

@ -1,10 +1,10 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { JiraIssueModule } from './jira/jira-issue/jira-issue.module';
import { IssueHeaderComponent } from './issue-header/issue-header.component';
import { IssueContentComponent } from './issue-content/issue-content.component';
import { GithubIssueModule } from './github/github-issue/github-issue.module';
import { IssueIconPipe } from './issue-icon/issue-icon.pipe';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {JiraIssueModule} from './jira/jira-issue/jira-issue.module';
import {IssueHeaderComponent} from './issue-header/issue-header.component';
import {IssueContentComponent} from './issue-content/issue-content.component';
import {GithubIssueModule} from './github/github-issue/github-issue.module';
import {IssueIconPipe} from './issue-icon/issue-icon.pipe';
@NgModule({
imports: [

View file

@ -1,7 +1,7 @@
import { createSelector } from '@ngrx/store';
import { selectJiraIssueEntities } from './jira/jira-issue/store/jira-issue.reducer';
import { selectGithubIssueEntities } from './github/github-issue/store/github-issue.reducer';
import { GITHUB_TYPE, JIRA_TYPE } from './issue.const';
import {createSelector} from '@ngrx/store';
import {selectJiraIssueEntities} from './jira/jira-issue/store/jira-issue.reducer';
import {selectGithubIssueEntities} from './github/github-issue/store/github-issue.reducer';
import {GITHUB_TYPE, JIRA_TYPE} from './issue.const';
// TODO add git
export const selectIssueEntityMap = createSelector(

View file

@ -1,15 +1,15 @@
import { Injectable } from '@angular/core';
import { IssueData, IssueProviderKey, SearchResultItem } from './issue';
import { JiraIssue } from './jira/jira-issue/jira-issue.model';
import { Attachment } from '../attachment/attachment.model';
import { JiraApiService } from './jira/jira-api.service';
import { GithubApiService } from './github/github-api.service';
import { combineLatest, from, Observable, zip } from 'rxjs';
import { ProjectService } from '../project/project.service';
import { catchError, map, switchMap } from 'rxjs/operators';
import { JiraIssueService } from './jira/jira-issue/jira-issue.service';
import { GithubIssueService } from './github/github-issue/github-issue.service';
import { GITHUB_TYPE, JIRA_TYPE } from './issue.const';
import {Injectable} from '@angular/core';
import {IssueData, IssueProviderKey, SearchResultItem} from './issue';
import {JiraIssue} from './jira/jira-issue/jira-issue.model';
import {Attachment} from '../attachment/attachment.model';
import {JiraApiService} from './jira/jira-api.service';
import {GithubApiService} from './github/github-api.service';
import {combineLatest, from, Observable, zip} from 'rxjs';
import {ProjectService} from '../project/project.service';
import {catchError, map, switchMap} from 'rxjs/operators';
import {JiraIssueService} from './jira/jira-issue/jira-issue.service';
import {GithubIssueService} from './github/github-issue/github-issue.service';
import {GITHUB_TYPE, JIRA_TYPE} from './issue.const';
@Injectable({
providedIn: 'root',

View file

@ -1,4 +1,4 @@
import {ChangeDetectionStrategy, Component, Inject, OnInit} from '@angular/core';
import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import {JiraCfg} from '../jira';

View file

@ -1,6 +1,6 @@
<h1 mat-dialog-title>
<mat-icon svgIcon="jira"
class="dialog-header-icon"></mat-icon>
class="dialog-header-icon"></mat-icon>
<span>Update Status on Jira</span>
</h1>

View file

@ -1,13 +1,13 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { IssueLocalState } from '../../issue';
import { JiraIssue } from '../jira-issue/jira-issue.model';
import { JiraIssueService } from '../jira-issue/jira-issue.service';
import { Observable } from 'rxjs';
import { JiraApiService } from '../jira-api.service';
import { JiraOriginalTransition } from '../jira-api-responses';
import { SnackService } from '../../../../core/snack/snack.service';
import { take } from 'rxjs/operators';
import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import {IssueLocalState} from '../../issue';
import {JiraIssue} from '../jira-issue/jira-issue.model';
import {JiraIssueService} from '../jira-issue/jira-issue.service';
import {Observable} from 'rxjs';
import {JiraApiService} from '../jira-api.service';
import {JiraOriginalTransition} from '../jira-api-responses';
import {SnackService} from '../../../../core/snack/snack.service';
import {take} from 'rxjs/operators';
@Component({
selector: 'dialog-jira-transition',

View file

@ -1,17 +1,17 @@
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
import { ConfigFormSection, GlobalConfigSectionKey } from '../../../config/global-config.model';
import { ProjectCfgFormKey } from '../../../project/project.model';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { FormControl, FormGroup } from '@angular/forms';
import { JiraCfg } from '../jira';
import { expandAnimation } from '../../../../ui/animations/expand.ani';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import { SearchResultItem } from '../../issue';
import { catchError, debounceTime, map, switchMap, tap } from 'rxjs/operators';
import { JiraApiService } from '../jira-api.service';
import { DEFAULT_JIRA_CFG } from '../jira.const';
import { JiraIssue } from '../jira-issue/jira-issue.model';
import { SnackService } from '../../../../core/snack/snack.service';
import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';
import {ConfigFormSection, GlobalConfigSectionKey} from '../../../config/global-config.model';
import {ProjectCfgFormKey} from '../../../project/project.model';
import {FormlyFieldConfig, FormlyFormOptions} from '@ngx-formly/core';
import {FormControl, FormGroup} from '@angular/forms';
import {JiraCfg} from '../jira';
import {expandAnimation} from '../../../../ui/animations/expand.ani';
import {BehaviorSubject, Observable, Subscription} from 'rxjs';
import {SearchResultItem} from '../../issue';
import {catchError, debounceTime, map, switchMap, tap} from 'rxjs/operators';
import {JiraApiService} from '../jira-api.service';
import {DEFAULT_JIRA_CFG} from '../jira.const';
import {JiraIssue} from '../jira-issue/jira-issue.model';
import {SnackService} from '../../../../core/snack/snack.service';
@Component({
selector: 'jira-cfg',

View file

@ -1,10 +1,10 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../../../tasks/task.model';
import { JiraIssueService } from '../jira-issue.service';
import { JiraApiService } from '../../jira-api.service';
import { JiraIssue } from '../jira-issue.model';
import { expandAnimation } from '../../../../../ui/animations/expand.ani';
import { Attachment } from '../../../../attachment/attachment.model';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../../../tasks/task.model';
import {JiraIssueService} from '../jira-issue.service';
import {JiraApiService} from '../../jira-api.service';
import {JiraIssue} from '../jira-issue.model';
import {expandAnimation} from '../../../../../ui/animations/expand.ani';
import {Attachment} from '../../../../attachment/attachment.model';
@Component({
selector: 'jira-issue-content',

View file

@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { TaskWithSubTasks } from '../../../../tasks/task.model';
import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';
import {TaskWithSubTasks} from '../../../../tasks/task.model';
@Component({
selector: 'jira-issue-header',

View file

@ -1,6 +1,11 @@
// Mapped Data Types
// -----------------
import { JiraIssueOriginalReduced, JiraOriginalComment, JiraOriginalComponent, JiraOriginalStatus } from '../jira-api-responses';
import {
JiraIssueOriginalReduced,
JiraOriginalComment,
JiraOriginalComponent,
JiraOriginalStatus
} from '../jira-api-responses';
export type JiraAuthor = Readonly<{
id: string;

Some files were not shown because too many files have changed in this diff Show more