cloud-ide-core 2.0.113 → 2.0.116

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.
@@ -13,7 +13,7 @@ import { coreRoutesUrl, generateStringFromObject, cidePath, hostManagerRoutesUrl
13
13
  import * as i1 from '@angular/common/http';
14
14
  import { HttpClient } from '@angular/common/http';
15
15
  import { NotificationService, CideEleDataGridComponent, CideEleButtonComponent, CideInputComponent, CideSelectComponent, CideTextareaComponent, CideIconComponent, CideEleDropdownComponent, ConfirmationService, CideEleGlobalNotificationsComponent, CideEleConfirmationModalComponent, CideEleJsonEditorComponent, CideEleFileInputComponent, CideEleFileImageDirective, CideFormFieldErrorComponent, CideEleFileManagerService, CideEleTabComponent, CideEleFloatingFeaturesService, CideEleToastNotificationComponent } from 'cloud-ide-element';
16
- import { RightsService, AppStateHelperService, CideLytSharedWrapperComponent, CideLytFloatingEntityRightsSharingService } from 'cloud-ide-layout';
16
+ import { RightsService, AppStateHelperService, CideLytSharedWrapperComponent, CideLytFloatingEntityRightsSharingService, CideLytSharedService } from 'cloud-ide-layout';
17
17
 
18
18
  const coreRoutes = [
19
19
  {
@@ -15350,6 +15350,17 @@ class CideCoreUserCreateComponent {
15350
15350
  title: `${userTypeLabel} Created`,
15351
15351
  duration: 5000
15352
15352
  });
15353
+ const responseData = response;
15354
+ const generatedId = responseData?.data?.syutm_type_specific_id || responseData?.syutm_type_specific_id;
15355
+ const responseUserType = responseData?.data?.syutm_user_type || responseData?.syutm_user_type || formUserType;
15356
+ // If a type-specific ID was auto-generated/returned, show it in a confirmation popup
15357
+ if (generatedId && (responseUserType === 'STUDENT' || responseUserType === 'TEACHER' || responseUserType === 'FACULTY')) {
15358
+ const idLabel = responseUserType === 'STUDENT' ? 'Student ID' : 'Faculty ID';
15359
+ this.notificationService.success(`${idLabel}: ${generatedId}`, {
15360
+ title: `${userTypeLabel} Created Successfully`,
15361
+ duration: 8000
15362
+ });
15363
+ }
15353
15364
  // Navigate to appropriate listing page based on user type
15354
15365
  if (userType === 'TEACHER' || userType === 'FACULTY') {
15355
15366
  // Navigate to teacher listing page
@@ -16028,6 +16039,7 @@ class CideCoreUserListComponent {
16028
16039
  route = inject(ActivatedRoute);
16029
16040
  userMasterService = inject(CideCoreUserMasterService);
16030
16041
  appState = inject(AppStateHelperService);
16042
+ sharedService = inject(CideLytSharedService);
16031
16043
  destroyRef = inject(DestroyRef);
16032
16044
  // ViewChild reference to the grid component
16033
16045
  gridComponent;
@@ -16050,6 +16062,7 @@ class CideCoreUserListComponent {
16050
16062
  // Page config (title/subtitle) from page API via route data
16051
16063
  pageTitle = signal('', ...(ngDevMode ? [{ debugName: "pageTitle" }] : []));
16052
16064
  pageSubtitle = signal('', ...(ngDevMode ? [{ debugName: "pageSubtitle" }] : []));
16065
+ pageCode = signal('auth_user_mst', ...(ngDevMode ? [{ debugName: "pageCode" }] : []));
16053
16066
  // Server-side search state
16054
16067
  searchQuery = signal('', ...(ngDevMode ? [{ debugName: "searchQuery" }] : []));
16055
16068
  // Server-side sorting state
@@ -16140,7 +16153,7 @@ class CideCoreUserListComponent {
16140
16153
  templateRenderers = {};
16141
16154
  ngOnInit() {
16142
16155
  console.log('🔧 USER MASTER LIST: Component initializing');
16143
- // Pick up user type and page config from route data (shared wrapper already loaded page API)
16156
+ // Pick up user type and page config from route data/cache (shared wrapper already loaded page API)
16144
16157
  this.route.data.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(data => {
16145
16158
  const routeUserType = data['userType'] || this.route.snapshot.queryParamMap.get('userType');
16146
16159
  const resolvedType = (routeUserType || '').toString().trim().toUpperCase();
@@ -16148,25 +16161,33 @@ class CideCoreUserListComponent {
16148
16161
  this.userType.set(resolvedType);
16149
16162
  console.log('👤 User type set to:', resolvedType);
16150
16163
  }
16151
- console.log('👤 User type from route:', data);
16152
- const page = data['page'];
16153
- const cfgString = page?.sypg_configuration;
16154
- if (cfgString) {
16155
- try {
16156
- const cfg = JSON.parse(cfgString);
16157
- this.pageTitle.set(cfg.title || '');
16158
- this.pageSubtitle.set(cfg.subTitle || '');
16164
+ const codeFromRoute = data['page']?.sypg_page_code || data['sypg_page_code'];
16165
+ const codeFromQuery = this.route.snapshot.queryParamMap.get('sypg_page_code');
16166
+ const finalCode = (codeFromRoute || codeFromQuery || this.pageCode()).toString();
16167
+ this.pageCode.set(finalCode);
16168
+ // Try to read page config from cached page data (no extra API call)
16169
+ const cachedStore = this.sharedService.pageDataStore();
16170
+ const cached = finalCode ? (this.sharedService.getCachedPageData(finalCode) || cachedStore[finalCode]) : null;
16171
+ const page = data['page'] || cached?.data?.page;
16172
+ if (page) {
16173
+ const cfgString = page?.sypg_configuration;
16174
+ if (cfgString) {
16175
+ try {
16176
+ const cfg = JSON.parse(cfgString);
16177
+ this.pageTitle.set(cfg.title || '');
16178
+ this.pageSubtitle.set(cfg.subTitle || '');
16179
+ }
16180
+ catch (e) {
16181
+ console.warn('Invalid page config JSON', e);
16182
+ this.pageTitle.set(page?.sypg_title || '');
16183
+ this.pageSubtitle.set(page?.sypg_desc || '');
16184
+ }
16159
16185
  }
16160
- catch (e) {
16161
- console.warn('Invalid page config JSON', e);
16186
+ else {
16162
16187
  this.pageTitle.set(page?.sypg_title || '');
16163
16188
  this.pageSubtitle.set(page?.sypg_desc || '');
16164
16189
  }
16165
16190
  }
16166
- else {
16167
- this.pageTitle.set(page?.sypg_title || '');
16168
- this.pageSubtitle.set(page?.sypg_desc || '');
16169
- }
16170
16191
  });
16171
16192
  this.loading.set(false);
16172
16193
  this.loadUsersFromServer(); // Use server-side loading