cloud-ide-academics 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/cloud-ide-academics-class-program-term-create.component-B-7JRpVE.mjs +1196 -0
- package/fesm2022/cloud-ide-academics-class-program-term-create.component-B-7JRpVE.mjs.map +1 -0
- package/fesm2022/{cloud-ide-academics-class-program-term-list.component-CP2vlRBP.mjs → cloud-ide-academics-class-program-term-list.component-DObKkh-y.mjs} +186 -48
- package/fesm2022/cloud-ide-academics-class-program-term-list.component-DObKkh-y.mjs.map +1 -0
- package/fesm2022/cloud-ide-academics-cloud-ide-academics-FwQEJSnJ.mjs +6127 -0
- package/fesm2022/cloud-ide-academics-cloud-ide-academics-FwQEJSnJ.mjs.map +1 -0
- package/fesm2022/{cloud-ide-academics-program-class-create.component-KijRP6Nl.mjs → cloud-ide-academics-program-class-create.component-x0rh1ESo.mjs} +45 -23
- package/fesm2022/cloud-ide-academics-program-class-create.component-x0rh1ESo.mjs.map +1 -0
- package/fesm2022/{cloud-ide-academics-program-class-list.component-B5cy2Gpk.mjs → cloud-ide-academics-program-class-list.component-CkzH8u8u.mjs} +10 -9
- package/fesm2022/cloud-ide-academics-program-class-list.component-CkzH8u8u.mjs.map +1 -0
- package/fesm2022/cloud-ide-academics.mjs +1 -1
- package/index.d.ts +500 -18
- package/package.json +1 -1
- package/fesm2022/cloud-ide-academics-class-program-term-create.component-BRbHViJN.mjs +0 -659
- package/fesm2022/cloud-ide-academics-class-program-term-create.component-BRbHViJN.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-class-program-term-list.component-CP2vlRBP.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-class-program-term.service-BW4PJQEM.mjs +0 -111
- package/fesm2022/cloud-ide-academics-class-program-term.service-BW4PJQEM.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-cloud-ide-academics-g9qZGJtG.mjs +0 -3102
- package/fesm2022/cloud-ide-academics-cloud-ide-academics-g9qZGJtG.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-program-class-create.component-KijRP6Nl.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-program-class-list.component-B5cy2Gpk.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-program-term-section-create.component-DHrTb-XI.mjs +0 -248
- package/fesm2022/cloud-ide-academics-program-term-section-create.component-DHrTb-XI.mjs.map +0 -1
- package/fesm2022/cloud-ide-academics-program-term-section-list.component-ktIAxvxR.mjs +0 -495
- package/fesm2022/cloud-ide-academics-program-term-section-list.component-ktIAxvxR.mjs.map +0 -1
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Route } from '@angular/router';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { OnInit, OnDestroy, TemplateRef } from '@angular/core';
|
|
4
|
-
import { FormGroup, FormArray } from '@angular/forms';
|
|
5
|
-
import { TabItem, TemplateContext, GridConfiguration, GridEvent, DropdownConfig, DropdownItem } from 'cloud-ide-element';
|
|
4
|
+
import { FormGroup, FormArray, FormControl } from '@angular/forms';
|
|
5
|
+
import { TabItem, TemplateContext, GridConfiguration, GridEvent, DropdownConfig, DropdownItem, SelectOption as SelectOption$1 } from 'cloud-ide-element';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
|
-
import { MAcademicYear, academicYearControllerResponse, MAcademicYearGetByIdPayload, academicYearByIdControllerResponse, MAcademicYearInsertUpdatePayload, academicYearInsertUpdateControllerResponse, MAcademicYearDeletePayload, academicYearDeleteControllerResponse, MAcademicYearToggleStatusPayload, academicYearToggleStatusControllerResponse, academicYearMappingInsertUpdateControllerResponse, MAcademicYearMapping, academicYearMappingControllerResponse, MAcademicYearMappingGetByIdPayload, academicYearMappingByIdControllerResponse, MAcademicYearMappingInsertUpdatePayload, MAcademicYearMappingDeletePayload, academicYearMappingDeleteControllerResponse, MAcademicYearMappingToggleStatusPayload, academicYearMappingToggleStatusControllerResponse, AcaClassPrgBranchResponse, ICoreSygms, AcaClassPrgBranchListPayload, classPrgBranchControllerResponse, AcaClassPrgBranchGetByIdPayload, classPrgBranchByIdControllerResponse, AcaClassPrgBranchInsertUpdatePayload, classPrgBranchInsertUpdateControllerResponse, AcaClassPrgBranchDeletePayload, classPrgBranchDeleteControllerResponse, AcaClassPrgBranchToggleStatusPayload, classPrgBranchToggleStatusControllerResponse, AcaClassPrgBranchToggleLockPayload, classPrgBranchToggleLockControllerResponse } from 'cloud-ide-lms-model';
|
|
7
|
+
import { MAcademicYear, academicYearControllerResponse, MAcademicYearGetByIdPayload, academicYearByIdControllerResponse, MAcademicYearInsertUpdatePayload, academicYearInsertUpdateControllerResponse, MAcademicYearDeletePayload, academicYearDeleteControllerResponse, MAcademicYearToggleStatusPayload, academicYearToggleStatusControllerResponse, academicYearMappingInsertUpdateControllerResponse, MAcademicYearMapping, academicYearMappingControllerResponse, MAcademicYearMappingGetByIdPayload, academicYearMappingByIdControllerResponse, MAcademicYearMappingInsertUpdatePayload, MAcademicYearMappingDeletePayload, academicYearMappingDeleteControllerResponse, MAcademicYearMappingToggleStatusPayload, academicYearMappingToggleStatusControllerResponse, AcaClassPrgBranchResponse, ICoreSygms, AcaClassPrgBranchListPayload, classPrgBranchControllerResponse, AcaClassPrgBranchGetByIdPayload, classPrgBranchByIdControllerResponse, AcaClassPrgBranchInsertUpdatePayload, classPrgBranchInsertUpdateControllerResponse, AcaClassPrgBranchDeletePayload, classPrgBranchDeleteControllerResponse, AcaClassPrgBranchToggleStatusPayload, classPrgBranchToggleStatusControllerResponse, AcaClassPrgBranchToggleLockPayload, classPrgBranchToggleLockControllerResponse, AcaPrgTrmSectionResponse, MPrgTrmSection, prgTrmSectionControllerResponse, MPrgTrmSectionGetByIdPayload, prgTrmSectionByIdControllerResponse, MPrgTrmSectionInsertUpdatePayload, prgTrmSectionInsertUpdateControllerResponse, MPrgTrmSectionDeletePayload, prgTrmSectionDeleteControllerResponse, MPrgTrmSectionToggleStatusPayload, prgTrmSectionToggleStatusControllerResponse, MPrgTrmSectionToggleLockPayload, prgTrmSectionToggleLockControllerResponse, AcaClassProgramMasterResponse, selectSearchType } from 'cloud-ide-lms-model';
|
|
8
8
|
|
|
9
9
|
declare const academicsRoutes: Route[];
|
|
10
10
|
|
|
@@ -373,7 +373,7 @@ declare class CideLytAcademicYearMappingService {
|
|
|
373
373
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytAcademicYearMappingService>;
|
|
374
374
|
}
|
|
375
375
|
|
|
376
|
-
interface ClassProgramBranch {
|
|
376
|
+
interface ClassProgramBranch$2 {
|
|
377
377
|
_id?: string;
|
|
378
378
|
acabrn_class_program_id_acacpm?: any;
|
|
379
379
|
acabrn_name?: string;
|
|
@@ -382,12 +382,22 @@ interface ClassProgramBranch {
|
|
|
382
382
|
acabrn_isactive?: boolean;
|
|
383
383
|
acabrn_islocked?: boolean;
|
|
384
384
|
}
|
|
385
|
-
interface
|
|
385
|
+
interface ClassProgramConfiguration$1 {
|
|
386
|
+
branchType?: boolean;
|
|
387
|
+
semesterType?: boolean;
|
|
388
|
+
}
|
|
389
|
+
interface ProgramClass$3 {
|
|
386
390
|
_id?: string;
|
|
387
391
|
acacpm_name?: string;
|
|
388
392
|
acacpm_code?: string;
|
|
389
393
|
acacpm_alise_title?: string;
|
|
390
394
|
acacpm_description?: string;
|
|
395
|
+
acacpm_class_program_id_sygms?: {
|
|
396
|
+
_id?: string;
|
|
397
|
+
sygms_code?: string;
|
|
398
|
+
sygms_title?: string;
|
|
399
|
+
sygms_configuration?: ClassProgramConfiguration$1 | string;
|
|
400
|
+
} | string;
|
|
391
401
|
}
|
|
392
402
|
declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
393
403
|
private destroyRef;
|
|
@@ -400,10 +410,10 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
400
410
|
private programClassService;
|
|
401
411
|
loading: _angular_core.WritableSignal<boolean>;
|
|
402
412
|
error: _angular_core.WritableSignal<string | null>;
|
|
403
|
-
branches: _angular_core.WritableSignal<ClassProgramBranch[]>;
|
|
413
|
+
branches: _angular_core.WritableSignal<ClassProgramBranch$2[]>;
|
|
404
414
|
totalCount: _angular_core.WritableSignal<number>;
|
|
405
415
|
programId: _angular_core.WritableSignal<string | null>;
|
|
406
|
-
programClasses: _angular_core.WritableSignal<ProgramClass$
|
|
416
|
+
programClasses: _angular_core.WritableSignal<ProgramClass$3[]>;
|
|
407
417
|
selectedProgramClassId: _angular_core.WritableSignal<string | null>;
|
|
408
418
|
breadcrumbData: _angular_core.WritableSignal<{
|
|
409
419
|
id: string;
|
|
@@ -414,7 +424,7 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
414
424
|
dragHandleRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
|
|
415
425
|
classProgramRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
|
|
416
426
|
actionsDropdownRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
|
|
417
|
-
gridConfig: _angular_core.WritableSignal<GridConfiguration<ClassProgramBranch>>;
|
|
427
|
+
gridConfig: _angular_core.WritableSignal<GridConfiguration<ClassProgramBranch$2>>;
|
|
418
428
|
templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<Record<string, unknown>>>>>;
|
|
419
429
|
ngOnInit(): void;
|
|
420
430
|
/**
|
|
@@ -423,6 +433,7 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
423
433
|
private initializeBreadcrumbData;
|
|
424
434
|
/**
|
|
425
435
|
* Load program classes for dropdown
|
|
436
|
+
* Only loads programs that have branchType: true in their configuration
|
|
426
437
|
*/
|
|
427
438
|
private loadProgramClasses;
|
|
428
439
|
/**
|
|
@@ -441,6 +452,10 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
441
452
|
* Load branches from API
|
|
442
453
|
*/
|
|
443
454
|
private loadBranches;
|
|
455
|
+
/**
|
|
456
|
+
* Normalize branches to ensure class program object structure is preserved for grouping
|
|
457
|
+
*/
|
|
458
|
+
private normalizeBranchesForGrouping;
|
|
444
459
|
/**
|
|
445
460
|
* Update grid data
|
|
446
461
|
*/
|
|
@@ -448,7 +463,7 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
448
463
|
/**
|
|
449
464
|
* Handle grid events
|
|
450
465
|
*/
|
|
451
|
-
onGridEvent(event: GridEvent<ClassProgramBranch>): void;
|
|
466
|
+
onGridEvent(event: GridEvent<ClassProgramBranch$2>): void;
|
|
452
467
|
/**
|
|
453
468
|
* Handle refresh
|
|
454
469
|
*/
|
|
@@ -476,15 +491,15 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
476
491
|
/**
|
|
477
492
|
* Navigate to view branch
|
|
478
493
|
*/
|
|
479
|
-
onViewBranch(branch: ClassProgramBranch): void;
|
|
494
|
+
onViewBranch(branch: ClassProgramBranch$2): void;
|
|
480
495
|
/**
|
|
481
496
|
* Navigate to edit branch
|
|
482
497
|
*/
|
|
483
|
-
onEditBranch(branch: ClassProgramBranch): void;
|
|
498
|
+
onEditBranch(branch: ClassProgramBranch$2): void;
|
|
484
499
|
/**
|
|
485
500
|
* Navigate to manage term for branch
|
|
486
501
|
*/
|
|
487
|
-
onManageTerm(branch: ClassProgramBranch): void;
|
|
502
|
+
onManageTerm(branch: ClassProgramBranch$2): void;
|
|
488
503
|
/**
|
|
489
504
|
* Get dropdown items for branch actions
|
|
490
505
|
*/
|
|
@@ -492,7 +507,7 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
492
507
|
/**
|
|
493
508
|
* Handle dropdown item click
|
|
494
509
|
*/
|
|
495
|
-
onDropdownItemClick(item: DropdownItem, branch: ClassProgramBranch): void;
|
|
510
|
+
onDropdownItemClick(item: DropdownItem, branch: ClassProgramBranch$2): void;
|
|
496
511
|
/**
|
|
497
512
|
* Toggle branch status
|
|
498
513
|
*/
|
|
@@ -509,11 +524,22 @@ declare class CideLytClassProgramBranchListComponent implements OnInit {
|
|
|
509
524
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytClassProgramBranchListComponent, "cide-academics-class-program-branch-list", never, {}, {}, never, never, true, never>;
|
|
510
525
|
}
|
|
511
526
|
|
|
512
|
-
interface
|
|
527
|
+
interface ClassProgramConfiguration {
|
|
528
|
+
branchType?: boolean;
|
|
529
|
+
semesterType?: boolean;
|
|
530
|
+
}
|
|
531
|
+
interface ProgramClass$2 {
|
|
513
532
|
_id?: string;
|
|
514
533
|
acacpm_name?: string;
|
|
515
534
|
acacpm_code?: string;
|
|
516
535
|
acacpm_description?: string;
|
|
536
|
+
acacpm_alise_title?: string;
|
|
537
|
+
acacpm_class_program_id_sygms?: {
|
|
538
|
+
_id?: string;
|
|
539
|
+
sygms_code?: string;
|
|
540
|
+
sygms_title?: string;
|
|
541
|
+
sygms_configuration?: ClassProgramConfiguration | string;
|
|
542
|
+
} | string;
|
|
517
543
|
}
|
|
518
544
|
interface BranchMaster extends ICoreSygms {
|
|
519
545
|
value?: string;
|
|
@@ -537,7 +563,7 @@ declare class CideLytClassProgramBranchFormComponent implements OnInit, OnDestro
|
|
|
537
563
|
isEditMode: _angular_core.WritableSignal<boolean>;
|
|
538
564
|
isViewMode: _angular_core.WritableSignal<boolean>;
|
|
539
565
|
branchId: _angular_core.WritableSignal<string | null>;
|
|
540
|
-
programClasses: _angular_core.WritableSignal<ProgramClass[]>;
|
|
566
|
+
programClasses: _angular_core.WritableSignal<ProgramClass$2[]>;
|
|
541
567
|
branchMasters: _angular_core.WritableSignal<BranchMaster[]>;
|
|
542
568
|
breadcrumbData: _angular_core.WritableSignal<{
|
|
543
569
|
id: string;
|
|
@@ -555,7 +581,7 @@ declare class CideLytClassProgramBranchFormComponent implements OnInit, OnDestro
|
|
|
555
581
|
private setupFormListeners;
|
|
556
582
|
/**
|
|
557
583
|
* Handle Program Class selection change
|
|
558
|
-
* This
|
|
584
|
+
* This will load standard branch names based on the program's general master code
|
|
559
585
|
*/
|
|
560
586
|
private onProgramClassChange;
|
|
561
587
|
ngOnDestroy(): void;
|
|
@@ -573,13 +599,23 @@ declare class CideLytClassProgramBranchFormComponent implements OnInit, OnDestro
|
|
|
573
599
|
private loadMasterData;
|
|
574
600
|
/**
|
|
575
601
|
* Load program classes
|
|
602
|
+
* Only loads programs that have branchType: true in their configuration
|
|
603
|
+
* (except in edit/view mode where we need to show the current program even if it doesn't have branchType)
|
|
576
604
|
*/
|
|
577
605
|
private loadProgramClasses;
|
|
578
606
|
/**
|
|
579
607
|
* Load branch masters from SYGMS (General Master)
|
|
580
|
-
*
|
|
608
|
+
* This method is called initially without program filter
|
|
581
609
|
*/
|
|
582
610
|
private loadBranchMasters;
|
|
611
|
+
/**
|
|
612
|
+
* Load branch masters filtered by program code
|
|
613
|
+
* The API will:
|
|
614
|
+
* 1. Find general master with type "class_program_type" and code matching programCode
|
|
615
|
+
* 2. Use that master's ID as sygms_id_sygms to get child branches (standard branch names)
|
|
616
|
+
* All done in a single API call
|
|
617
|
+
*/
|
|
618
|
+
private loadBranchMastersByProgramCode;
|
|
583
619
|
/**
|
|
584
620
|
* Handle SYGMS selection change - auto-populate name and code
|
|
585
621
|
*/
|
|
@@ -678,4 +714,450 @@ declare class CideLytClassProgramBranchService {
|
|
|
678
714
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytClassProgramBranchService>;
|
|
679
715
|
}
|
|
680
716
|
|
|
681
|
-
|
|
717
|
+
interface ProgramClass$1 {
|
|
718
|
+
_id?: string;
|
|
719
|
+
acacpm_alise_title?: string;
|
|
720
|
+
acacpm_class_program_id_sygms?: {
|
|
721
|
+
sygms_configuration?: {
|
|
722
|
+
branchType?: boolean;
|
|
723
|
+
semesterType?: boolean;
|
|
724
|
+
termType?: boolean;
|
|
725
|
+
termLevelUpTo?: number;
|
|
726
|
+
termProgramLevelOneConnected?: boolean;
|
|
727
|
+
};
|
|
728
|
+
};
|
|
729
|
+
}
|
|
730
|
+
interface ClassProgramTerm$1 {
|
|
731
|
+
_id?: string;
|
|
732
|
+
acapt_name?: string;
|
|
733
|
+
acapt_code?: string;
|
|
734
|
+
}
|
|
735
|
+
interface ClassProgramBranch$1 {
|
|
736
|
+
_id?: string;
|
|
737
|
+
acabrn_name?: string;
|
|
738
|
+
acabrn_code?: string;
|
|
739
|
+
}
|
|
740
|
+
declare class ProgramTermSectionCreateComponent implements OnInit, OnDestroy {
|
|
741
|
+
private destroyRef;
|
|
742
|
+
private fb;
|
|
743
|
+
private router;
|
|
744
|
+
private route;
|
|
745
|
+
private appState;
|
|
746
|
+
private notificationService;
|
|
747
|
+
private confirmationService;
|
|
748
|
+
private classProgramMasterService;
|
|
749
|
+
private classProgramBranchService;
|
|
750
|
+
private classProgramTermService;
|
|
751
|
+
private programTermSectionService;
|
|
752
|
+
programTermSectionForm: FormGroup;
|
|
753
|
+
activeTab: _angular_core.WritableSignal<string>;
|
|
754
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
755
|
+
error: _angular_core.WritableSignal<string | null>;
|
|
756
|
+
programTermSectionId: _angular_core.WritableSignal<string>;
|
|
757
|
+
isEditMode: _angular_core.WritableSignal<boolean>;
|
|
758
|
+
isViewMode: _angular_core.WritableSignal<boolean>;
|
|
759
|
+
programClasses: _angular_core.WritableSignal<ProgramClass$1[]>;
|
|
760
|
+
selectedProgramClass: _angular_core.WritableSignal<ProgramClass$1 | null>;
|
|
761
|
+
classProgramBranches: _angular_core.WritableSignal<ClassProgramBranch$1[]>;
|
|
762
|
+
classProgramTerms: _angular_core.WritableSignal<ClassProgramTerm$1[]>;
|
|
763
|
+
programClassOptions: _angular_core.WritableSignal<SelectOption$1[]>;
|
|
764
|
+
classProgramBranchOptions: _angular_core.WritableSignal<SelectOption$1[]>;
|
|
765
|
+
classProgramTermOptions: _angular_core.WritableSignal<(SelectOption$1 & {
|
|
766
|
+
_id: string;
|
|
767
|
+
acapt_name: string;
|
|
768
|
+
acapt_parent_class_prog_term_acapt?: string;
|
|
769
|
+
})[]>;
|
|
770
|
+
programClassLoading: _angular_core.WritableSignal<boolean>;
|
|
771
|
+
classProgramBranchLoading: _angular_core.WritableSignal<boolean>;
|
|
772
|
+
classProgramTermLoading: _angular_core.WritableSignal<boolean>;
|
|
773
|
+
showBranchDropdown: _angular_core.Signal<boolean | undefined>;
|
|
774
|
+
showTermDropdown: _angular_core.Signal<boolean>;
|
|
775
|
+
acacpmId: _angular_core.WritableSignal<string | null>;
|
|
776
|
+
acabrnId: _angular_core.WritableSignal<string | null>;
|
|
777
|
+
acaptParentId: _angular_core.WritableSignal<string | null>;
|
|
778
|
+
hasParentTermInEditMode: _angular_core.WritableSignal<boolean>;
|
|
779
|
+
breadcrumbData: _angular_core.WritableSignal<{
|
|
780
|
+
id: string;
|
|
781
|
+
label: string;
|
|
782
|
+
icon?: string;
|
|
783
|
+
url?: string;
|
|
784
|
+
}[]>;
|
|
785
|
+
constructor();
|
|
786
|
+
ngOnInit(): void;
|
|
787
|
+
/**
|
|
788
|
+
* Update breadcrumb data based on mode
|
|
789
|
+
*/
|
|
790
|
+
private updateBreadcrumbData;
|
|
791
|
+
/**
|
|
792
|
+
* Initialize component
|
|
793
|
+
*/
|
|
794
|
+
private initializeComponent;
|
|
795
|
+
/**
|
|
796
|
+
* Setup listener for program class selection changes
|
|
797
|
+
*/
|
|
798
|
+
private setupProgramClassChangeListener;
|
|
799
|
+
/**
|
|
800
|
+
* Load term details from API and set class program
|
|
801
|
+
*/
|
|
802
|
+
private loadTermDetailsAndSetClassProgram;
|
|
803
|
+
/**
|
|
804
|
+
* Check route parameters for pre-selecting fields
|
|
805
|
+
*/
|
|
806
|
+
private checkRouteParams;
|
|
807
|
+
/**
|
|
808
|
+
* Load program term section for viewing
|
|
809
|
+
*/
|
|
810
|
+
private loadProgramTermSectionForView;
|
|
811
|
+
/**
|
|
812
|
+
* Load program term section for editing
|
|
813
|
+
*/
|
|
814
|
+
private loadProgramTermSectionForEdit;
|
|
815
|
+
/**
|
|
816
|
+
* Load dropdown options
|
|
817
|
+
*/
|
|
818
|
+
private loadDropdownOptions;
|
|
819
|
+
/**
|
|
820
|
+
* Load program classes from service
|
|
821
|
+
*/
|
|
822
|
+
private loadProgramClasses;
|
|
823
|
+
/**
|
|
824
|
+
* Load branches for a specific program class
|
|
825
|
+
*/
|
|
826
|
+
private loadBranchesForProgramClass;
|
|
827
|
+
/**
|
|
828
|
+
* Auto-select term for program when termType=true, termProgramLevelOneConnected=true, and termLevelUpTo <= 1
|
|
829
|
+
*/
|
|
830
|
+
private autoSelectTermForProgram;
|
|
831
|
+
/**
|
|
832
|
+
* Load terms for a specific program class and branch
|
|
833
|
+
*/
|
|
834
|
+
private loadTermsForProgramClassAndBranch;
|
|
835
|
+
/**
|
|
836
|
+
* Tab configuration
|
|
837
|
+
*/
|
|
838
|
+
programTermSectionTabs(): {
|
|
839
|
+
id: string;
|
|
840
|
+
label: string;
|
|
841
|
+
icon: string;
|
|
842
|
+
}[];
|
|
843
|
+
onTabChange(tab: TabItem): void;
|
|
844
|
+
onSubmit(): void;
|
|
845
|
+
/**
|
|
846
|
+
* Mark all form controls as touched to trigger validation display
|
|
847
|
+
*/
|
|
848
|
+
private markFormGroupTouched;
|
|
849
|
+
resetForm(): void;
|
|
850
|
+
/**
|
|
851
|
+
* Go back to program term section list
|
|
852
|
+
*/
|
|
853
|
+
goBackToProgramTermSectionList(): void;
|
|
854
|
+
/**
|
|
855
|
+
* Cancel form and navigate back to listing page
|
|
856
|
+
*/
|
|
857
|
+
cancelForm(): void;
|
|
858
|
+
/**
|
|
859
|
+
* Get page title based on mode
|
|
860
|
+
*/
|
|
861
|
+
getPageTitle(): string;
|
|
862
|
+
/**
|
|
863
|
+
* Cleanup when component is destroyed
|
|
864
|
+
*/
|
|
865
|
+
ngOnDestroy(): void;
|
|
866
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgramTermSectionCreateComponent, never>;
|
|
867
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgramTermSectionCreateComponent, "cide-academics-program-term-section-create", never, {}, {}, never, never, true, never>;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
type ProgramTermSection = AcaPrgTrmSectionResponse;
|
|
871
|
+
interface ProgramClass {
|
|
872
|
+
_id?: string;
|
|
873
|
+
acacpm_code?: string;
|
|
874
|
+
acacpm_alise_title?: string;
|
|
875
|
+
acacpm_name?: string;
|
|
876
|
+
acacpm_description?: string;
|
|
877
|
+
acacpm_class_program_id_sygms?: any;
|
|
878
|
+
}
|
|
879
|
+
interface ClassProgramBranch {
|
|
880
|
+
_id?: string;
|
|
881
|
+
acabrn_name?: string;
|
|
882
|
+
acabrn_code?: string;
|
|
883
|
+
}
|
|
884
|
+
interface ClassProgramTerm {
|
|
885
|
+
_id?: string;
|
|
886
|
+
acapt_code?: string;
|
|
887
|
+
acapt_name?: string;
|
|
888
|
+
acapt_class_program_id_acacpm?: string | {
|
|
889
|
+
_id?: string;
|
|
890
|
+
};
|
|
891
|
+
acapt_class_program_branch_id_acabrn?: string | {
|
|
892
|
+
_id?: string;
|
|
893
|
+
};
|
|
894
|
+
acapt_parent_class_prog_term_acapt?: string | {
|
|
895
|
+
_id?: string;
|
|
896
|
+
};
|
|
897
|
+
children?: ClassProgramTerm[];
|
|
898
|
+
level?: number;
|
|
899
|
+
isExpanded?: boolean;
|
|
900
|
+
hasChildren?: boolean;
|
|
901
|
+
}
|
|
902
|
+
declare class ProgramTermSectionListComponent implements OnInit {
|
|
903
|
+
private destroyRef;
|
|
904
|
+
private router;
|
|
905
|
+
private route;
|
|
906
|
+
private appState;
|
|
907
|
+
private notificationService;
|
|
908
|
+
private confirmationService;
|
|
909
|
+
private programTermSectionService;
|
|
910
|
+
private classProgramMasterService;
|
|
911
|
+
private classProgramBranchService;
|
|
912
|
+
private classProgramTermService;
|
|
913
|
+
programTermSectionDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
914
|
+
programTermSectionStatusRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
915
|
+
actionsDropdownRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
916
|
+
programClassRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
917
|
+
termSpecializationRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
918
|
+
classProgramTermRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
919
|
+
parentClassProgramTermRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
|
|
920
|
+
templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<Record<string, unknown>>>>>;
|
|
921
|
+
Math: Math;
|
|
922
|
+
programTermSections: _angular_core.WritableSignal<AcaPrgTrmSectionResponse[]>;
|
|
923
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
924
|
+
error: _angular_core.WritableSignal<string | null>;
|
|
925
|
+
selectedItems: _angular_core.WritableSignal<string[]>;
|
|
926
|
+
searchTerm: _angular_core.WritableSignal<string>;
|
|
927
|
+
classProgramMasters: _angular_core.WritableSignal<ProgramClass[]>;
|
|
928
|
+
classProgramMastersLoading: _angular_core.WritableSignal<boolean>;
|
|
929
|
+
selectedClassProgram: _angular_core.WritableSignal<ProgramClass | null>;
|
|
930
|
+
classProgramBranches: _angular_core.WritableSignal<ClassProgramBranch[]>;
|
|
931
|
+
classProgramBranchesLoading: _angular_core.WritableSignal<boolean>;
|
|
932
|
+
selectedProgramClassId: _angular_core.WritableSignal<string | null>;
|
|
933
|
+
selectedBranchId: _angular_core.WritableSignal<string | null>;
|
|
934
|
+
classProgramTerms: _angular_core.WritableSignal<ClassProgramTerm[]>;
|
|
935
|
+
classProgramTermsLoading: _angular_core.WritableSignal<boolean>;
|
|
936
|
+
selectedTermId: _angular_core.WritableSignal<string | null>;
|
|
937
|
+
breadcrumbData: _angular_core.WritableSignal<{
|
|
938
|
+
id: string;
|
|
939
|
+
label: string;
|
|
940
|
+
icon?: string;
|
|
941
|
+
url?: string;
|
|
942
|
+
}[]>;
|
|
943
|
+
classProgramMastersOptions: _angular_core.Signal<{
|
|
944
|
+
displayLabel: string;
|
|
945
|
+
_id?: string;
|
|
946
|
+
acacpm_code?: string;
|
|
947
|
+
acacpm_alise_title?: string;
|
|
948
|
+
acacpm_name?: string;
|
|
949
|
+
acacpm_description?: string;
|
|
950
|
+
acacpm_class_program_id_sygms?: any;
|
|
951
|
+
}[]>;
|
|
952
|
+
classProgramBranchesOptions: _angular_core.Signal<ClassProgramBranch[]>;
|
|
953
|
+
classProgramTermOptions: _angular_core.Signal<{
|
|
954
|
+
value: string;
|
|
955
|
+
label: string;
|
|
956
|
+
_id: string;
|
|
957
|
+
acapt_name: string;
|
|
958
|
+
acapt_parent_class_prog_term_acapt: string;
|
|
959
|
+
}[]>;
|
|
960
|
+
showBranchDropdown: _angular_core.Signal<any>;
|
|
961
|
+
showTermDropdown: _angular_core.Signal<boolean>;
|
|
962
|
+
filteredProgramTermSections: _angular_core.Signal<AcaPrgTrmSectionResponse[]>;
|
|
963
|
+
gridConfig: _angular_core.WritableSignal<GridConfiguration<AcaPrgTrmSectionResponse>>;
|
|
964
|
+
/**
|
|
965
|
+
* Get action dropdown items
|
|
966
|
+
*/
|
|
967
|
+
getActionDropdownItems(programTermSection: ProgramTermSection): DropdownItem[];
|
|
968
|
+
/**
|
|
969
|
+
* Handle dropdown item click
|
|
970
|
+
*/
|
|
971
|
+
onDropdownItemClick(item: DropdownItem, programTermSection: ProgramTermSection): void;
|
|
972
|
+
ngOnInit(): void;
|
|
973
|
+
/**
|
|
974
|
+
* Initialize breadcrumb data for list view
|
|
975
|
+
*/
|
|
976
|
+
private initializeBreadcrumbData;
|
|
977
|
+
/**
|
|
978
|
+
* Load program term sections data
|
|
979
|
+
*/
|
|
980
|
+
private loadProgramTermSections;
|
|
981
|
+
/**
|
|
982
|
+
* Normalize sections to ensure class program and term object structures are preserved for grouping
|
|
983
|
+
*/
|
|
984
|
+
private normalizeSectionsForGrouping;
|
|
985
|
+
/**
|
|
986
|
+
* Update grid data
|
|
987
|
+
*/
|
|
988
|
+
private updateGridData;
|
|
989
|
+
/**
|
|
990
|
+
* Handle grid events
|
|
991
|
+
*/
|
|
992
|
+
onGridEvent(event: GridEvent<ProgramTermSection>): void;
|
|
993
|
+
/**
|
|
994
|
+
* Create new program term section
|
|
995
|
+
*/
|
|
996
|
+
createProgramTermSection(): void;
|
|
997
|
+
/**
|
|
998
|
+
* View program term section details
|
|
999
|
+
*/
|
|
1000
|
+
viewProgramTermSection(programTermSection: ProgramTermSection): void;
|
|
1001
|
+
/**
|
|
1002
|
+
* Edit program term section
|
|
1003
|
+
*/
|
|
1004
|
+
editProgramTermSection(programTermSection: ProgramTermSection): void;
|
|
1005
|
+
/**
|
|
1006
|
+
* Delete program term section
|
|
1007
|
+
*/
|
|
1008
|
+
deleteProgramTermSection(programTermSection: ProgramTermSection): void;
|
|
1009
|
+
/**
|
|
1010
|
+
* Toggle program term section status
|
|
1011
|
+
*/
|
|
1012
|
+
toggleProgramTermSectionStatus(programTermSection: ProgramTermSection): void;
|
|
1013
|
+
/**
|
|
1014
|
+
* Refresh data
|
|
1015
|
+
*/
|
|
1016
|
+
refreshData(): void;
|
|
1017
|
+
/**
|
|
1018
|
+
* Load class program masters
|
|
1019
|
+
*/
|
|
1020
|
+
private loadClassProgramMasters;
|
|
1021
|
+
/**
|
|
1022
|
+
* Handle class program selection change
|
|
1023
|
+
*/
|
|
1024
|
+
onClassProgramChange(programClassId: string | number | string[] | null): void;
|
|
1025
|
+
/**
|
|
1026
|
+
* Load class program branches
|
|
1027
|
+
*/
|
|
1028
|
+
private loadClassProgramBranches;
|
|
1029
|
+
/**
|
|
1030
|
+
* Handle branch selection change
|
|
1031
|
+
*/
|
|
1032
|
+
onBranchChange(branchId: string | number | string[] | null): void;
|
|
1033
|
+
/**
|
|
1034
|
+
* Auto-select term for program when termType=true, termProgramLevelOneConnected=true, and termLevelUpTo <= 1
|
|
1035
|
+
*/
|
|
1036
|
+
private autoSelectTermForProgram;
|
|
1037
|
+
/**
|
|
1038
|
+
* Load class program terms (simple list for dropdown)
|
|
1039
|
+
*/
|
|
1040
|
+
private loadClassProgramTerms;
|
|
1041
|
+
/**
|
|
1042
|
+
* Handle program term selection change
|
|
1043
|
+
*/
|
|
1044
|
+
onTermChange(termId: string | number | string[] | null): void;
|
|
1045
|
+
/**
|
|
1046
|
+
* Handle class program master search
|
|
1047
|
+
*/
|
|
1048
|
+
onClassProgramMasterSearch(event: any): void;
|
|
1049
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgramTermSectionListComponent, never>;
|
|
1050
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgramTermSectionListComponent, "cide-academics-program-term-section-list", never, {}, {}, never, never, true, never>;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
declare class CideLytProgramTermSectionService {
|
|
1054
|
+
private http;
|
|
1055
|
+
/**
|
|
1056
|
+
* Get list of program term sections
|
|
1057
|
+
* @param payload - Query parameters for filtering/pagination
|
|
1058
|
+
* @returns Observable of program term section list response
|
|
1059
|
+
*/
|
|
1060
|
+
getProgramTermSectionList(payload: MPrgTrmSection): Observable<prgTrmSectionControllerResponse>;
|
|
1061
|
+
/**
|
|
1062
|
+
* Get program term section by ID
|
|
1063
|
+
* @param payload - Program term section ID payload
|
|
1064
|
+
* @returns Observable of program term section data
|
|
1065
|
+
*/
|
|
1066
|
+
getProgramTermSectionById(payload: MPrgTrmSectionGetByIdPayload): Observable<prgTrmSectionByIdControllerResponse>;
|
|
1067
|
+
/**
|
|
1068
|
+
* Create or update program term section
|
|
1069
|
+
* @param data - Program term section data to save
|
|
1070
|
+
* @returns Observable of the save response
|
|
1071
|
+
*/
|
|
1072
|
+
saveProgramTermSection(data: MPrgTrmSectionInsertUpdatePayload): Observable<prgTrmSectionInsertUpdateControllerResponse>;
|
|
1073
|
+
/**
|
|
1074
|
+
* Delete program term section
|
|
1075
|
+
* @param payload - Program term section delete payload
|
|
1076
|
+
* @returns Observable of the delete response
|
|
1077
|
+
*/
|
|
1078
|
+
deleteProgramTermSection(payload: MPrgTrmSectionDeletePayload): Observable<prgTrmSectionDeleteControllerResponse>;
|
|
1079
|
+
/**
|
|
1080
|
+
* Toggle program term section status (active/inactive)
|
|
1081
|
+
* @param payload - Program term section toggle status payload
|
|
1082
|
+
* @returns Observable of the toggle status response
|
|
1083
|
+
*/
|
|
1084
|
+
toggleProgramTermSectionStatus(payload: MPrgTrmSectionToggleStatusPayload): Observable<prgTrmSectionToggleStatusControllerResponse>;
|
|
1085
|
+
/**
|
|
1086
|
+
* Toggle program term section lock status
|
|
1087
|
+
* @param payload - Program term section toggle lock payload
|
|
1088
|
+
* @returns Observable of the toggle lock response
|
|
1089
|
+
*/
|
|
1090
|
+
toggleProgramTermSectionLock(payload: MPrgTrmSectionToggleLockPayload): Observable<prgTrmSectionToggleLockControllerResponse>;
|
|
1091
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytProgramTermSectionService, never>;
|
|
1092
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytProgramTermSectionService>;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
interface SelectOption {
|
|
1096
|
+
value: string;
|
|
1097
|
+
label: string;
|
|
1098
|
+
}
|
|
1099
|
+
interface ProgramSectionSelectorValues {
|
|
1100
|
+
classProgramId?: string | null;
|
|
1101
|
+
branchId?: string | null;
|
|
1102
|
+
termId?: string | null;
|
|
1103
|
+
sectionId?: string | null;
|
|
1104
|
+
}
|
|
1105
|
+
declare class ProgramSectionSelectorComponent implements OnInit, OnDestroy {
|
|
1106
|
+
readonly formGroup: _angular_core.InputSignal<FormGroup<any>>;
|
|
1107
|
+
readonly classProgramControlName: _angular_core.InputSignal<string>;
|
|
1108
|
+
readonly branchControlName: _angular_core.InputSignal<string>;
|
|
1109
|
+
readonly termControlName: _angular_core.InputSignal<string>;
|
|
1110
|
+
readonly sectionControlName: _angular_core.InputSignal<string>;
|
|
1111
|
+
readonly academicYearId: _angular_core.InputSignal<string | null>;
|
|
1112
|
+
readonly entityId: _angular_core.InputSignal<string | null>;
|
|
1113
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1114
|
+
readonly showLabels: _angular_core.InputSignal<boolean>;
|
|
1115
|
+
readonly gridCols: _angular_core.InputSignal<string>;
|
|
1116
|
+
readonly showAllPrograms: _angular_core.InputSignal<boolean>;
|
|
1117
|
+
readonly includeInactive: _angular_core.InputSignal<boolean>;
|
|
1118
|
+
readonly valuesChange: _angular_core.OutputEmitterRef<ProgramSectionSelectorValues>;
|
|
1119
|
+
private readonly destroyRef;
|
|
1120
|
+
private readonly http;
|
|
1121
|
+
private readonly classProgramService;
|
|
1122
|
+
private readonly branchService;
|
|
1123
|
+
private readonly sectionService;
|
|
1124
|
+
private readonly notificationService;
|
|
1125
|
+
readonly classProgramMasters: _angular_core.WritableSignal<AcaClassProgramMasterResponse[]>;
|
|
1126
|
+
readonly classProgramBranches: _angular_core.WritableSignal<SelectOption[]>;
|
|
1127
|
+
readonly classProgramTerms: _angular_core.WritableSignal<SelectOption[]>;
|
|
1128
|
+
readonly programTermSections: _angular_core.WritableSignal<SelectOption[]>;
|
|
1129
|
+
readonly classProgramMastersLoading: _angular_core.WritableSignal<boolean>;
|
|
1130
|
+
readonly classProgramBranchesLoading: _angular_core.WritableSignal<boolean>;
|
|
1131
|
+
readonly classProgramTermsLoading: _angular_core.WritableSignal<boolean>;
|
|
1132
|
+
readonly programTermSectionsLoading: _angular_core.WritableSignal<boolean>;
|
|
1133
|
+
readonly selectedClassProgram: _angular_core.WritableSignal<AcaClassProgramMasterResponse | null>;
|
|
1134
|
+
readonly hasSections: _angular_core.WritableSignal<boolean>;
|
|
1135
|
+
private isProcessingInitialValues;
|
|
1136
|
+
getClassProgramControl(): FormControl;
|
|
1137
|
+
getBranchControl(): FormControl;
|
|
1138
|
+
getTermControl(): FormControl;
|
|
1139
|
+
getSectionControl(): FormControl;
|
|
1140
|
+
readonly classProgramOptions: _angular_core.Signal<{
|
|
1141
|
+
value: string;
|
|
1142
|
+
label: string;
|
|
1143
|
+
}[]>;
|
|
1144
|
+
readonly showBranchDropdown: _angular_core.Signal<boolean>;
|
|
1145
|
+
readonly showTermDropdown: _angular_core.Signal<boolean>;
|
|
1146
|
+
constructor();
|
|
1147
|
+
ngOnInit(): void;
|
|
1148
|
+
private handleInitialValues;
|
|
1149
|
+
ngOnDestroy(): void;
|
|
1150
|
+
private setupFormListeners;
|
|
1151
|
+
private loadClassProgramMasters;
|
|
1152
|
+
onClassProgramSearch(event: selectSearchType): void;
|
|
1153
|
+
onClassProgramChange(classProgramId: string | null | undefined): void;
|
|
1154
|
+
private loadClassProgramBranches;
|
|
1155
|
+
onBranchChange(branchId: string | null | undefined): void;
|
|
1156
|
+
private loadClassProgramTerms;
|
|
1157
|
+
onTermChange(termId: string | null | undefined): void;
|
|
1158
|
+
private loadProgramTermSections;
|
|
1159
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgramSectionSelectorComponent, never>;
|
|
1160
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgramSectionSelectorComponent, "cide-academics-program-section-selector", never, { "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "classProgramControlName": { "alias": "classProgramControlName"; "required": false; "isSignal": true; }; "branchControlName": { "alias": "branchControlName"; "required": false; "isSignal": true; }; "termControlName": { "alias": "termControlName"; "required": false; "isSignal": true; }; "sectionControlName": { "alias": "sectionControlName"; "required": false; "isSignal": true; }; "academicYearId": { "alias": "academicYearId"; "required": false; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "gridCols": { "alias": "gridCols"; "required": false; "isSignal": true; }; "showAllPrograms": { "alias": "showAllPrograms"; "required": false; "isSignal": true; }; "includeInactive": { "alias": "includeInactive"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; }, never, never, true, never>;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
export { AcademicYearCreateComponent, AcademicYearListComponent, CideLytAcademicYearMappingService, CideLytAcademicYearService, CideLytClassProgramBranchFormComponent, CideLytClassProgramBranchListComponent, CideLytClassProgramBranchService, CideLytProgramTermSectionService, ProgramSectionSelectorComponent, ProgramTermSectionCreateComponent, ProgramTermSectionListComponent, academicsRoutes };
|