Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CODENVY-232: add element injector service by parent id #710

Merged
merged 1 commit into from
Mar 15, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dashboard/src/app/dashboard/dashboard-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ export class DashboardConfig {
register.controller('DashboardController', DashboardController);

// config routes
register.app.config(function ($routeProvider) {
register.app.config(($routeProvider) => {
$routeProvider.accessWhen('/', {
templateUrl: 'app/dashboard/dashboard.html',
controller: 'DashboardController',
controllerAs: 'dashboardController',
resolve: {
check: ['$q', 'cheService', 'cheAdminService', function ($q, cheService, cheAdminService) {
check: ['$q', 'cheService', 'cheAdminService', ($q, cheService, cheAdminService) => {
var defer = $q.defer();
cheService.fetchServices().then(() => {
cheAdminService.fetchServices().then(() => {
Expand Down
2 changes: 1 addition & 1 deletion dashboard/src/app/dashboard/dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
che-add-button-name="New Project"
che-add-button-href="#/create-project"
che-event-logger="dashboard/new.project"></che-toolbar>
<md-content layout="column" class="dashboard-content" md-scroll-y flex>
<md-content id="dashboardPageContent" layout="column" class="dashboard-content" md-scroll-y flex>
<dashboard-last-workspaces></dashboard-last-workspaces>
<dashboard-last-projects></dashboard-last-projects>
</md-content>
64 changes: 28 additions & 36 deletions dashboard/src/app/index.module.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,11 @@ let initModule = angular.module('userDashboard', ['ngAnimate', 'ngCookies', 'ngT
'ngDropdowns', 'ngLodash', 'angularCharts', 'ngClipboard', 'uuid4', 'angularFileUpload']);



// add a global resolve flag on all routes (user needs to be resolved first)
initModule.config(['$routeProvider', function ($routeProvider) {
$routeProvider.accessWhen = function(path, route) {
initModule.config(['$routeProvider', ($routeProvider) => {
$routeProvider.accessWhen = (path, route) => {
route.resolve || (route.resolve = {});
route.resolve.app = ['cheBranding', '$q', 'cheProfile', 'cheUser', function (cheBranding, $q, cheProfile, cheUser) {
route.resolve.app = ['cheBranding', '$q', 'cheProfile', 'cheUser', (cheBranding, $q, cheProfile, cheUser) => {
var deferred = $q.defer();

cheUser.fetchUser().then(() => {
Expand All @@ -63,9 +62,9 @@ initModule.config(['$routeProvider', function ($routeProvider) {
return $routeProvider.when(path, route);
};

$routeProvider.accessOtherWise = function(route) {
$routeProvider.accessOtherWise = (route) => {
route.resolve || (route.resolve = {});
route.resolve.app = ['$q', 'cheProfile', 'cheUser', function ($q, cheProfile, cheUser) {
route.resolve.app = ['$q', 'cheProfile', 'cheUser', ($q, cheProfile, cheUser) => {
var deferred = $q.defer();

cheUser.fetchUser().then(() => {
Expand Down Expand Up @@ -95,7 +94,7 @@ var DEV = false;


// config routes
initModule.config(['$routeProvider', function ($routeProvider) {
initModule.config(['$routeProvider', ($routeProvider) => {
// add demo page
if (DEV) {
$routeProvider.accessWhen('/demo-components', {
Expand All @@ -108,12 +107,11 @@ initModule.config(['$routeProvider', function ($routeProvider) {
}]);



/**
* Setup route redirect module
*/
initModule.run(['$rootScope', '$location', 'routingRedirect', 'cheUser', '$timeout', 'ideIFrameSvc', 'cheIdeFetcher', 'routeHistory',
function ($rootScope, $location, routingRedirect, cheUser, $timeout, ideIFrameSvc, cheIdeFetcher, routeHistory) {
initModule.run(['$rootScope', '$location', 'routingRedirect', 'cheUser', '$timeout', 'ideIFrameSvc', 'cheIdeFetcher', 'routeHistory', 'cheUIElementsInjectorService',
($rootScope, $location, routingRedirect, cheUser, $timeout, ideIFrameSvc, cheIdeFetcher, routeHistory, cheUIElementsInjectorService) => {

$rootScope.hideLoader = false;
$rootScope.waitingLoaded = false;
Expand All @@ -123,10 +121,10 @@ initModule.run(['$rootScope', '$location', 'routingRedirect', 'cheUser', '$timeo
cheIdeFetcher;
routeHistory;

$rootScope.$on('$viewContentLoaded', function() {
$rootScope.$on('$viewContentLoaded', () => {
ideIFrameSvc.addIFrame();

$timeout(function() {
cheUIElementsInjectorService.injectAll();
$timeout(() => {
if (!$rootScope.hideLoader) {
if (!$rootScope.wantTokeepLoader) {
$rootScope.hideLoader = true;
Expand Down Expand Up @@ -160,14 +158,13 @@ initModule.run(['$rootScope', '$location', 'routingRedirect', 'cheUser', '$timeo
}]);



// add interceptors
initModule.factory('ETagInterceptor', function ($window, $cookies, $q) {
initModule.factory('ETagInterceptor', ($window, $cookies, $q) => {

var etagMap = {};

return {
request: function(config) {
request: (config) => {
// add IfNoneMatch request on the che api if there is an existing eTag
if ('GET' === config.method) {
if (config.url.indexOf('/api') === 0) {
Expand All @@ -180,7 +177,7 @@ initModule.factory('ETagInterceptor', function ($window, $cookies, $q) {
}
return config || $q.when(config);
},
response: function(response) {
response: (response) => {

// if response is ok, keep ETag
if ('GET' === response.config.method) {
Expand All @@ -189,7 +186,7 @@ initModule.factory('ETagInterceptor', function ($window, $cookies, $q) {
if (responseEtag) {
if (response.config.url.indexOf('/api') === 0) {

etagMap[response.config.url] = responseEtag;
etagMap[response.config.url] = responseEtag;
}
}
}
Expand All @@ -201,12 +198,10 @@ initModule.factory('ETagInterceptor', function ($window, $cookies, $q) {
});




initModule.config(function($mdThemingProvider, jsonColors) {
initModule.config(($mdThemingProvider, jsonColors) => {

var cheColors = angular.fromJson(jsonColors);
var getColor = function(key) {
var getColor = (key) => {
var color = cheColors[key];
if (!color) {
// return a flashy red color if color is undefined
Expand All @@ -223,12 +218,11 @@ initModule.config(function($mdThemingProvider, jsonColors) {

var cheMap = $mdThemingProvider.extendPalette('indigo', {
'500': getColor('$dark-menu-color'),
'300' : 'D0D0D0'
'300': 'D0D0D0'
});
$mdThemingProvider.definePalette('che', cheMap);

var cheDangerMap = $mdThemingProvider.extendPalette('red', {
});
var cheDangerMap = $mdThemingProvider.extendPalette('red', {});
$mdThemingProvider.definePalette('cheDanger', cheDangerMap);

var cheWarningMap = $mdThemingProvider.extendPalette('orange', {
Expand All @@ -237,20 +231,18 @@ initModule.config(function($mdThemingProvider, jsonColors) {
$mdThemingProvider.definePalette('cheWarning', cheWarningMap);

var cheDefaultMap = $mdThemingProvider.extendPalette('blue', {
'A400' : getColor('$che-medium-blue-color')
'A400': getColor('$che-medium-blue-color')
});
$mdThemingProvider.definePalette('cheDefault', cheDefaultMap);

var cheNoticeMap = $mdThemingProvider.extendPalette('blue', {
'A400' : getColor('$mouse-gray-color')
'A400': getColor('$mouse-gray-color')
});
$mdThemingProvider.definePalette('cheNotice', cheNoticeMap);




var cheAccentMap = $mdThemingProvider.extendPalette('blue', {
'700' : getColor('$che-medium-blue-color'),
'700': getColor('$che-medium-blue-color'),
'A400': getColor('$che-medium-blue-color'),
'A200': getColor('$che-medium-blue-color'),
'contrastDefaultColor': 'light'
Expand All @@ -259,27 +251,27 @@ initModule.config(function($mdThemingProvider, jsonColors) {


var cheNavyPalette = $mdThemingProvider.extendPalette('purple', {
'500' : getColor('$che-navy-color'),
'500': getColor('$che-navy-color'),
'contrastDefaultColor': 'light'
});
$mdThemingProvider.definePalette('cheNavyPalette', cheNavyPalette);


var toolbarPrimaryPalette = $mdThemingProvider.extendPalette('purple', {
'500' : getColor('$che-white-color'),
'500': getColor('$che-white-color'),
'contrastDefaultColor': 'dark'
});
$mdThemingProvider.definePalette('toolbarPrimaryPalette', toolbarPrimaryPalette);

var toolbarAccentPalette = $mdThemingProvider.extendPalette('purple', {
'A200' : 'EF6C00',
'700' : 'E65100',
'A200': 'EF6C00',
'700': 'E65100',
'contrastDefaultColor': 'light'
});
$mdThemingProvider.definePalette('toolbarAccentPalette', toolbarAccentPalette);

var cheGreyPalette = $mdThemingProvider.extendPalette('grey', {
'A100' : 'efefef',
'A100': 'efefef',
'contrastDefaultColor': 'light'
});
$mdThemingProvider.definePalette('cheGrey', cheGreyPalette);
Expand Down Expand Up @@ -345,7 +337,7 @@ initModule.constant('userDashboardConfig', {
developmentMode: DEV
});

initModule.config(['$routeProvider', '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) {
initModule.config(['$routeProvider', '$locationProvider', '$httpProvider', ($routeProvider, $locationProvider, $httpProvider) => {
// Add the ETag interceptor for Che API
$httpProvider.interceptors.push('ETagInterceptor');
}]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
.project-list-static-icon
flex 0 1 100px
text-align center
padding-right 10px
padding-right 0

.project-list-row
min-height 56px
margin-left 10px
margin-right 10px
margin-right 0
cursor pointer

.project-list-row > div
Expand Down
2 changes: 2 additions & 0 deletions dashboard/src/components/components-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {CheBrandingConfig} from './branding/che-branding-config';
import {CodeMirrorConstant} from './codemirror/codemirror';
import {GitHubService} from './github/github-service';
import {CheIdeFetcherConfig} from './ide-fetcher/che-ide-fetcher-config';
import {CheUIElementsInjectorConfig} from './injector/che-ui-elements-injector-config.js';
import {CheNotificationConfig} from './notification/che-notification-config';
import {OnBoardingConfig} from './onboarding/onboarding-config';
import {RoutingConfig} from './routing/routing-config';
Expand All @@ -32,6 +33,7 @@ export class ComponentsConfig {
new CodeMirrorConstant(register);
new GitHubService(register);
new CheIdeFetcherConfig(register);
new CheUIElementsInjectorConfig(register);
new CheNotificationConfig(register);
new OnBoardingConfig(register);
new RoutingConfig(register);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright (c) 2015-2016 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*/
'use strict';

import {CheUIElementsInjectorService} from './che-ui-elements-injector.service.js';

export class CheUIElementsInjectorConfig {

constructor(register) {
register.service('cheUIElementsInjectorService', CheUIElementsInjectorService);
}
}
Loading