diff --git a/src/app/core/services/design-studio.service.ts b/src/app/core/services/design-studio.service.ts index f3fa23a4915bf1bbceedcd23832d4358bc278848..c0b6a1e076635ec08c47cd74e762ad2239ce7c79 100644 --- a/src/app/core/services/design-studio.service.ts +++ b/src/app/core/services/design-studio.service.ts @@ -2,8 +2,9 @@ import { Injectable } from '@angular/core'; import { HttpSharedService } from '../http-shared/http-shared.service'; import { apiConfig } from '../config'; import { UrlBuildService } from './url-build.service'; -import { catchError, firstValueFrom, map } from 'rxjs'; +import { catchError, firstValueFrom, map, of } from 'rxjs'; import { BrowserStorageService } from './storage/browser-storage.service'; +import { Router } from '@angular/router'; @Injectable({ providedIn: 'root', @@ -16,6 +17,7 @@ export class DesignStudioService { private readonly _httpSharedService: HttpSharedService, private urlBuildService: UrlBuildService, private browserStorageService: BrowserStorageService, + private router: Router, ) { this.browserStorageService.getUserDetailsObservable().pipe( map((details) => { @@ -64,4 +66,9 @@ export class DesignStudioService { const urlPost = apiConfig.apiBackendURL + '/' + url; return firstValueFrom(this._httpSharedService.post(urlPost, params, body)); } + + redirectTo(path: string) { + this.router.navigate([path]); + return firstValueFrom(of(true)); + } } diff --git a/src/app/features/dashboard/sidebar/sidebar.component.html b/src/app/features/dashboard/sidebar/sidebar.component.html index b0b36c6248c31d58438ef7f7d88bc8b62188eb00..65d89cc16d51207bb036126c90323a05cb73ea6a 100644 --- a/src/app/features/dashboard/sidebar/sidebar.component.html +++ b/src/app/features/dashboard/sidebar/sidebar.component.html @@ -20,19 +20,7 @@ " > </span - ><span class="headerTxtSpan"> Marketplace</span></a - > - <a mat-tab-link routerLink="catalogs" routerLinkActive="is-active"> - <span - class="icon-catalogs margin-right" - [ngClass]=" - isActive('/dashboard/catalogs') - ? 'catalogs-icon-active' - : 'catalogs-icon-inactive' - " - > - </span - ><span class="headerTxtSpan">Catalogs</span></a + ><span class="headerTxtSpan"> Catalogs</span></a > <a mat-tab-link routerLink="myModels" routerLinkActive="is-active"> <span @@ -58,7 +46,11 @@ </span ><span class="headerTxtSpan">On-boarding model</span></a > - <a mat-tab-link routerLink="designStudio" routerLinkActive="is-active"> + <a + mat-tab-link + (click)="redirectToDesignStudio()" + routerLinkActive="is-active" + > <span class="icon-design_studio margin-right" [ngClass]=" diff --git a/src/app/features/dashboard/sidebar/sidebar.component.ts b/src/app/features/dashboard/sidebar/sidebar.component.ts index 0df9c35defab51c873567a8da27c0742e997c975..0be3cabcacadc5e590ac98b1b55af884c1626359 100644 --- a/src/app/features/dashboard/sidebar/sidebar.component.ts +++ b/src/app/features/dashboard/sidebar/sidebar.component.ts @@ -48,4 +48,8 @@ export class SidebarComponent implements OnInit { '_blank', ); } + + redirectToDesignStudio() { + this.router.navigate(['/designStudio']); + } } diff --git a/src/app/features/marketplace/marketplace.component.html b/src/app/features/marketplace/marketplace.component.html index b819a41ebd5def2c9e1ad5b1c94e62a198b14e9b..c70556ff6d2995280df6019dfd292f653010559b 100644 --- a/src/app/features/marketplace/marketplace.component.html +++ b/src/app/features/marketplace/marketplace.component.html @@ -2,7 +2,7 @@ <section class="pageheadsection mob-pageheadsection1"> <div class="mdl-grid mdl-grid.mdl-grid--no-spacing"> <div> - <gp-headline [headlineTitle]="'Marketplace |'"></gp-headline> + <gp-headline [headlineTitle]="'Catalogs |'"></gp-headline> <div class="favorite-buttons-container" *ngIf="loginUserId"> <button class="favorite-button" @@ -24,7 +24,7 @@ </div> <gp-breadcrumb-navigation [firstNavigationLabel]="{ label: 'Home' }" - [secondNavigationLabel]="{ label: 'Marketplace', disabled: true }" + [secondNavigationLabel]="{ label: 'Catalogs', disabled: true }" (firstNavigationClicked)="onHomeClick()" ></gp-breadcrumb-navigation> </div> diff --git a/src/legacy/css/design-studio.css b/src/legacy/css/design-studio.css index 69d3808bf4301154e3353895250100a4313c0cb7..c3363208cbcbee8650a25ab9cda602fcd5fbfb90 100644 --- a/src/legacy/css/design-studio.css +++ b/src/legacy/css/design-studio.css @@ -55,7 +55,7 @@ a:link {font-size: 13px !important;} .ds-section-heading {display:flex;flex-wrap: nowrap; justify-content: space-between;align-items: center; background: #E8E5EC; line-height:34px;height:34px; border-top:1px solid #C5C5C5; border-bottom: 1px solid #C5C5C5} .ds-section-heading-container {height:34px; border-bottom: 1px solid #C5C5C5;background: #F1F1F1;} - +.clickable-label{cursor: pointer;} .ds-section-heading2 {display:flex;flex-wrap: nowrap; justify-content: space-between;align-items: center; diff --git a/src/legacy/design-studio.component.js b/src/legacy/design-studio.component.js index e198f8089ce13af99015b072ba542c8e84e56c21..4fac65edb40c41f322e1b4a4f50d9418f0b30aef 100644 --- a/src/legacy/design-studio.component.js +++ b/src/legacy/design-studio.component.js @@ -154,143 +154,15 @@ appDesignStudio.component( templateUrl : projectRoot + '/design-studio.template.html', controller : ACController } -)/*.service('browserStorageService', function() { - this.setUserDetail = function(detail) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('userDetail', detail); - document.cookie = 'userDetail='+detail; - } else { - sessionStorage.setItem('userDetail', detail); - document.cookie = 'userDetail='+detail; - } - } - - this.setUserRole = function(role) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('userRole', role); - document.cookie = 'userRole='+role; - } else { - sessionStorage.setItem('userRole', role); - document.cookie = 'userRole='+role; - } - } - - this.setAuthToken = function(token) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('auth_token', token); - document.cookie = 'authToken= Bearer '+token; - } else { - sessionStorage.setItem('auth_token', token); - document.cookie = 'authToken= Bearer '+token; - } - } - - this.getUserDetail = function() { - return sessionStorage.getItem('userDetail') ? - sessionStorage.getItem('userDetail') : - localStorage.getItem('userDetail'); - } - - this.getUserRole = function() { - return sessionStorage.getItem('userRole') ? - sessionStorage.getItem('userRole') : - localStorage.getItem('userRole'); - } - - this.setAdmin = function(admin) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('isAdmin', admin); - } else { - sessionStorage.setItem('isAdmin', admin); - } - } - - this.setLicenseAdmin = function(licenseadmin) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('isLicenseAdmin', licenseadmin); - } else { - sessionStorage.setItem('isLicenseAdmin', licenseadmin); - } - } - - this.setPublisher = function(publisher) { - if (sessionStorage.getItem('rm')) { - localStorage.setItem('isPublisher', publisher); - } else { - sessionStorage.setItem('isPublisher', publisher); - } - } - - this.isAdmin = function() { - return sessionStorage.getItem('isAdmin') ? - sessionStorage.getItem('isAdmin') : - localStorage.getItem('isAdmin'); - } - - this.isLicenseAdmin = function() { - return sessionStorage.getItem('isLicenseAdmin') ? - sessionStorage.getItem('isLicenseAdmin') : - localStorage.getItem('isLicenseAdmin'); - } - - this.isPublisher = function() { - return sessionStorage.getItem('isPublisher') ? - sessionStorage.getItem('isPublisher') : - localStorage.getItem('isPublisher'); - } - - this.getAuthToken = function() { - return sessionStorage.getItem('auth_token') ? - sessionStorage.getItem('auth_token') : - localStorage.getItem('auth_token'); - } - - this.removeUserDetail = function() { - sessionStorage.removeItem('userDetail'); - localStorage.removeItem('userDetail'); - } - - this.clearUserRole = function() { - sessionStorage.setItem('userRole', ""); - localStorage.setItem('userRole', ""); - } - - this.removeAuthToken = function() { - sessionStorage.removeItem('auth_token'); - localStorage.removeItem('auth_token'); - } - - this.setMktPlaceStorage = function(obj) { - sessionStorage.setItem('mktPlaceStorage', JSON.stringify(obj)); - } - - this.getMktPlaceStorage = function() { - return JSON.parse(sessionStorage.getItem('mktPlaceStorage')); - } - - this.removeMktPlaceStorage = function() { - sessionStorage.removeItem('mktPlaceStorage'); - } - - this.setFavCatStorage = function(obj){ - sessionStorage.setItem('favCatStorage', JSON.stringify(obj)); - } - - this.getFavCatStorage = function(){ - return JSON.parse(sessionStorage.getItem('favCatStorage')); - } - - this.removeFavCatStorage = function() { - sessionStorage.removeItem('favCatStorage'); - } -})*/ +) ACController.$inject = ['$scope','$http','$q','$window','$rootScope','$mdDialog','$injector','browserStorageService', 'ApiService']; function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $injector, browserStorageService, ApiService) { // browserStorageService.setUserDetail(JSON.stringify(["Kawtar", "9b36ce33-ec9c-48e3-964f-5fd7e75ede6c", "klaariche"])); - + console.log('ACController initialized'); + console.log('$injector:', $injector); componentHandler.upgradeAllRegistered(); $scope.is_ie = false || !!document.documentMode; @@ -725,7 +597,7 @@ function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $inject set_dirty(true); - document.getElementById("loading").style.display = "block"; + //document.getElementById("loading").style.display = "block"; // ApiService.httpPost(options.addNode, {userId: get_userId(),cid: _cid},nodeDetails) console.log("url drag drop", url) ApiService.httpPost(url,undefined, nodeDetails) @@ -2611,7 +2483,6 @@ function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $inject if(e.linkName) params.linkName = e.linkName; url = build_url(options.addLink, params); - document.getElementById("loading").style.display = "block"; return ApiService.httpPost(url,angular.toJson(properties)) .then(function(response) { document.getElementById("loading").style.display = "none"; @@ -2979,8 +2850,7 @@ function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $inject portType: portType, protobufJsonString: port_info }); - document.getElementById("loading").style.display = "block"; - ApiService.httpGet(url,{headers: {'Access-Control-Allow-Origin': '*','Access-Control-Request-Method': 'GET','Access-Control-Allow-Headers':'application/x-www-form-urlencoded'}}).then(function(data){ + ApiService.httpGet(url, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Request-Method': 'GET', 'Access-Control-Allow-Headers': 'application/x-www-form-urlencoded' } }).then(function (data) { var i=0; var matchingModels = []; @@ -3555,15 +3425,6 @@ function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $inject // status. $scope.categoryNames = []; }); - - -/* ApiService.getModeltype() - .then(function(data, status, headers, config) { - $scope.categoryNames = data.response_body; - }) - .catch(() => { - $scope.categoryNames = []; - }) */ $scope.enableDeployToCloud = function(){ @@ -3582,7 +3443,7 @@ function ACController($scope, $http, $q, $window, $rootScope, $mdDialog, $inject }; $scope.enableDeployToCloud(); - document.getElementById("loading").style.display = "block"; + // document.getElementById("loading").style.display = "block"; function load_catalog() { @@ -5495,5 +5356,15 @@ function initializeUserId() { console.error("Error during initialization:", error); }); + $scope.redirectTo = function (path) { + console.log("redirecthome") + return ApiService.redirectTo(path).then(() => { + console.log('Navigation successful'); + }) + .catch((error) => { + console.error('Navigation failed:', error); + }); + } + } diff --git a/src/legacy/design-studio.module.js b/src/legacy/design-studio.module.js index db8af501f6f38bbd8ac79f58816ae499e61008e3..987a5fa1d80c5453bd7c13aa9414af0ab91f0323 100644 --- a/src/legacy/design-studio.module.js +++ b/src/legacy/design-studio.module.js @@ -19,7 +19,18 @@ limitations under the License. */ 'use strict'; - angular.module('designStudio',['ngRoute']).config( - function() { - console.log("designStudio"); - }); \ No newline at end of file + +angular + .module('designStudio', [ + 'ngRoute', + 'ui.bootstrap', + 'ngMaterial', + 'ngMdIcons', + 'ngSanitize', + ]) + .config(function () { + console.log('designStudio module initialized'); + }) + .factory('$injector', ['$rootElement', function ($rootElement) { + return angular.element($rootElement).injector(); +}]); \ No newline at end of file diff --git a/src/legacy/design-studio.template.html b/src/legacy/design-studio.template.html index 683a9ad580b24840dbc777790368d14312c318b8..f66a50367e9ff0f4e7564b79172879d65533b943 100644 --- a/src/legacy/design-studio.template.html +++ b/src/legacy/design-studio.template.html @@ -24,9 +24,8 @@ limitations under the License. <div class="mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone"> <span class="headline mob-disblock">Design-Studio</span> <ul class="c-breadcrumb"> - <li><a ui-sref="home" ng-click="$root.parentActive = ''">Home</a></li> + <li><a ui-sref="home" ng-click="redirectTo('/dashboard/home')" >Home</a></li> <li><a ui-sref="designStudio" ng-click="$root.parentActive = 'designStudio'">Design Studio</a> - <li>Design-Studio</li> </ul> </div> </div> @@ -59,7 +58,7 @@ limitations under the License. <div id="content-left"> <div class="ds-section" id="top-content-left"> <div class="ds-section-heading"> - <label>Marketplace</label> + <label class="clickable-label" ng-click="redirectTo('/dashboard/marketplace')">Catalogs</label> </div> <div class="ds-section-heading-container"> @@ -249,7 +248,10 @@ limitations under the License. </div> <button ng-click="right = !right" class="mdl-button mdl-js-button bdr-right ds-btn1 btn-playlist" title="Collapse Right Panel"><span class="ds-icon icon-expand-drawer"></span></button> - <button ng-click="closeDrawer()" class="mdl-button mdl-js-button ds-btn1 btn-fullscreen" title="Full Screen"><span class="ds-icon icon-fullscreen"></span></button> + <button + class="mdl-button mdl-js-button mdl-button--icon ds-btnclose1" ng-click="redirectTo('/dashboard/marketplace')" title="Close"> + <i class="fa fa-times" aria-hidden="true"></i> + </button> </div> </div> <div class="ds-outer-container2">