@ardimedia/angular-portal-azure 0.2.139 → 0.2.141
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/apn.d.ts +46 -50
- package/apn.js +222 -159
- package/css/apn.css +2 -2
- package/css/apn.min.css +1 -1
- package/directives/blade/angular-portal-blade-grid.ts +1 -1
- package/directives/blade/angular-portal-blade-nav.ts +1 -1
- package/directives/blade/angular-portal-blade.ts +3 -1
- package/directives/home/home.html +12 -9
- package/directives/home/home.ts +10 -1
- package/package.json +1 -1
package/apn.d.ts
CHANGED
|
@@ -50,11 +50,10 @@ declare var $: JQueryStatic;
|
|
|
50
50
|
declare namespace angularportalazure {
|
|
51
51
|
class Blade extends angularportalazure.UserControlBase {
|
|
52
52
|
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title: string, subtitle?: string, width?: number);
|
|
53
|
-
private watcherTitle;
|
|
54
53
|
private bladeContentHeight;
|
|
55
54
|
bladeContentInnerHeight: number;
|
|
56
|
-
path: string;
|
|
57
55
|
private _path;
|
|
56
|
+
path: string;
|
|
58
57
|
title: string;
|
|
59
58
|
subTitle: string;
|
|
60
59
|
width: {
|
|
@@ -151,8 +150,6 @@ declare namespace angularportalazure {
|
|
|
151
150
|
onCommandStop(): void;
|
|
152
151
|
onCommandSwap(): void;
|
|
153
152
|
/** Obsolete */
|
|
154
|
-
bladeClose(): void;
|
|
155
|
-
setTitle(watchExpression: string, func: () => void): void;
|
|
156
153
|
private setBladeHeights();
|
|
157
154
|
}
|
|
158
155
|
}
|
|
@@ -160,6 +157,8 @@ declare namespace angularportalazure {
|
|
|
160
157
|
class BladeArea extends angularportalazure.UserControlBase {
|
|
161
158
|
static $inject: string[];
|
|
162
159
|
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService);
|
|
160
|
+
private areaBlades;
|
|
161
|
+
private portalScroll;
|
|
163
162
|
private listener1;
|
|
164
163
|
blades: Array<angularportalazure.Blade>;
|
|
165
164
|
raiseAddBladeEvent(args: angularportalazure.IAddBladeEventArgs): void;
|
|
@@ -174,6 +173,48 @@ declare namespace angularportalazure {
|
|
|
174
173
|
hidePanorama(): void;
|
|
175
174
|
/** We need to call this when BladeArea is no longer used, otherwise the listener does not get removed. */
|
|
176
175
|
close(): void;
|
|
176
|
+
private setupResizerListener();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
declare namespace angularportalazure {
|
|
180
|
+
class BladeData extends angularportalazure.Blade {
|
|
181
|
+
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title: string, subtitle?: string, width?: number);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
declare namespace angularportalazure {
|
|
185
|
+
class BladeNav extends angularportalazure.BladeData {
|
|
186
|
+
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title?: string, subtitle?: string, width?: number);
|
|
187
|
+
items: Array<angularportalazure.BladeNavItem>;
|
|
188
|
+
isNav: boolean;
|
|
189
|
+
onNavigateTo(path: string): void;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
declare namespace angularportalazure {
|
|
193
|
+
class BladeNavItem {
|
|
194
|
+
title: string;
|
|
195
|
+
cssClass: string;
|
|
196
|
+
bladePath: string;
|
|
197
|
+
hrefPath: string;
|
|
198
|
+
roles: string;
|
|
199
|
+
isVisible: boolean;
|
|
200
|
+
callback: () => any;
|
|
201
|
+
bladeNav: angularportalazure.BladeNav | null;
|
|
202
|
+
constructor(title?: string, cssClass?: string, bladePath?: string, hrefPath?: string, roles?: string, isVisible?: boolean, callback?: () => any, bladeNav?: angularportalazure.BladeNav | null);
|
|
203
|
+
onNavItemClick(): void;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
declare namespace angularportalazure {
|
|
207
|
+
class AreaNotification extends angularportalazure.UserControlBase {
|
|
208
|
+
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService);
|
|
209
|
+
private portalWidth;
|
|
210
|
+
private portalHeight;
|
|
211
|
+
private areaNotification;
|
|
212
|
+
widthAreaUsed: number;
|
|
213
|
+
width: number;
|
|
214
|
+
backgroundColor: string;
|
|
215
|
+
hide(): void;
|
|
216
|
+
show(): void;
|
|
217
|
+
private setupResizerListener();
|
|
177
218
|
}
|
|
178
219
|
}
|
|
179
220
|
declare namespace angularportalazure {
|
|
@@ -253,21 +294,7 @@ declare namespace angularportalazure {
|
|
|
253
294
|
}
|
|
254
295
|
declare namespace angularportalazure {
|
|
255
296
|
class PortalShell extends angularportalazure.UserControlBase {
|
|
256
|
-
/** Obsolete
|
|
257
|
-
* start using this.panorama.title */
|
|
258
|
-
title: string;
|
|
259
|
-
/** Obsolete
|
|
260
|
-
* start using this.panorama.avatarMenu.userAccount */
|
|
261
|
-
user: {};
|
|
262
|
-
/** Obsolete
|
|
263
|
-
* start using this.panorama.startboard.tiles */
|
|
264
|
-
tiles: angularportalazure.Tiles[];
|
|
265
|
-
/** Obsolete
|
|
266
|
-
* start using this.bladesNew.blades. */
|
|
267
|
-
blades: any[];
|
|
268
297
|
constructor(portalService: angularportalazure.PortalService, title: string);
|
|
269
|
-
initialize(): void;
|
|
270
|
-
setObsoleteLayoutProperites(): void;
|
|
271
298
|
}
|
|
272
299
|
}
|
|
273
300
|
declare namespace angularportalazure {
|
|
@@ -295,6 +322,7 @@ declare namespace angularportalazure {
|
|
|
295
322
|
portalShell: angularportalazure.PortalShell;
|
|
296
323
|
panorama: angularportalazure.Panorama;
|
|
297
324
|
bladeArea: angularportalazure.BladeArea;
|
|
325
|
+
areaNotification: angularportalazure.AreaNotification;
|
|
298
326
|
ngDialog: any;
|
|
299
327
|
/** obsolete - $scope is different in any view. do have one instance in a shared service is not the right approach. */
|
|
300
328
|
$scope: angular.IScope;
|
|
@@ -319,11 +347,6 @@ declare namespace angularportalazure {
|
|
|
319
347
|
}
|
|
320
348
|
declare namespace angularportalazure {
|
|
321
349
|
}
|
|
322
|
-
declare namespace angularportalazure {
|
|
323
|
-
class BladeData extends angularportalazure.Blade {
|
|
324
|
-
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title: string, subtitle?: string, width?: number);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
350
|
declare namespace angularportalazure {
|
|
328
351
|
class BladeDetail<T> extends angularportalazure.BladeData {
|
|
329
352
|
item: T | null;
|
|
@@ -347,33 +370,6 @@ declare namespace angularportalazure {
|
|
|
347
370
|
onFilter(actual: Object, expected: string): boolean;
|
|
348
371
|
}
|
|
349
372
|
}
|
|
350
|
-
declare namespace angularportalazure {
|
|
351
|
-
class BladeNavItem {
|
|
352
|
-
title: string;
|
|
353
|
-
cssClass: string;
|
|
354
|
-
bladePath: string;
|
|
355
|
-
hrefPath: string;
|
|
356
|
-
roles: string;
|
|
357
|
-
isVisible: boolean;
|
|
358
|
-
callback: () => any;
|
|
359
|
-
bladeNav: angularportalazure.BladeNav | null;
|
|
360
|
-
constructor(title?: string, cssClass?: string, bladePath?: string, hrefPath?: string, roles?: string, isVisible?: boolean, callback?: () => any, bladeNav?: angularportalazure.BladeNav | null);
|
|
361
|
-
onNavItemClick(): void;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
declare namespace angularportalazure {
|
|
365
|
-
class BladeNav extends angularportalazure.BladeData {
|
|
366
|
-
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title?: string, subtitle?: string, width?: number);
|
|
367
|
-
items: Array<angularportalazure.BladeNavItem>;
|
|
368
|
-
isNav: boolean;
|
|
369
|
-
onNavigateTo(path: string): void;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
declare namespace angularportalazure {
|
|
373
|
-
class BladeNotification extends angularportalazure.BladeData {
|
|
374
|
-
constructor($scope: angular.IScope, portalService: angularportalazure.PortalService, path: string, title?: string, subtitle?: string, width?: number);
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
373
|
declare namespace angularportalazure {
|
|
378
374
|
class Exception implements angularportalazure.IExceptionDotNet {
|
|
379
375
|
ExceptionType: string;
|
package/apn.js
CHANGED
|
@@ -291,10 +291,10 @@ var angularportalazure;
|
|
|
291
291
|
}
|
|
292
292
|
//#region Add BladeArea.AddBlade event listener
|
|
293
293
|
/** OBSOLETE: remove when all OBSOLETE code has been removed */
|
|
294
|
-
if (portalService instanceof angularportalazure.PortalService == false) {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
294
|
+
//if (portalService instanceof angularportalazure.PortalService == false) {
|
|
295
|
+
// console.log('Blade.constructor: This code cannot be removed yet.')
|
|
296
|
+
// return;
|
|
297
|
+
//}
|
|
298
298
|
/** OBSOLETE: end */
|
|
299
299
|
//// Register listener1
|
|
300
300
|
//this.listener1 = that.portalService.$rootScope.$on('BladeArea.AddBlade', function (event, args: angularportalazure.IAddBladeEventArgs) {
|
|
@@ -304,7 +304,8 @@ var angularportalazure;
|
|
|
304
304
|
// }
|
|
305
305
|
//});
|
|
306
306
|
//#endregion
|
|
307
|
-
// Set this
|
|
307
|
+
// Set 'this.portalService.bladeArea.blades[index]' to 'this'
|
|
308
|
+
// 'this.portalService.bladeArea.blades[index]' was generated during AddBlade
|
|
308
309
|
_this.portalService.bladeArea.blades.forEach(function (blade, index) {
|
|
309
310
|
if (blade.path === _this.path) {
|
|
310
311
|
_this.portalService.bladeArea.blades[index] = _this;
|
|
@@ -314,7 +315,6 @@ var angularportalazure;
|
|
|
314
315
|
return _this;
|
|
315
316
|
}
|
|
316
317
|
Object.defineProperty(Blade.prototype, "path", {
|
|
317
|
-
//#region path
|
|
318
318
|
get: function () {
|
|
319
319
|
return this._path;
|
|
320
320
|
},
|
|
@@ -469,18 +469,17 @@ var angularportalazure;
|
|
|
469
469
|
//#endregion
|
|
470
470
|
//#region OBSOLETE
|
|
471
471
|
/** Obsolete */
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
}
|
|
472
|
+
//bladeClose() {
|
|
473
|
+
// this.close();
|
|
474
|
+
//}
|
|
475
475
|
//#endregion
|
|
476
476
|
//#endregion
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
};
|
|
477
|
+
//setTitle(watchExpression: string, func: () => void) {
|
|
478
|
+
// if (this.watcherTitle === undefined) {
|
|
479
|
+
// this.watcherTitle = this.$scope.$watch(watchExpression, () => { func(); });
|
|
480
|
+
// this.$scope.$on('$destroy', () => { this.watcherTitle(); });
|
|
481
|
+
// }
|
|
482
|
+
//}
|
|
484
483
|
Blade.prototype.setBladeHeights = function () {
|
|
485
484
|
var that = this;
|
|
486
485
|
that.bladeContentHeight = $('.fxs-blade-content').height();
|
|
@@ -514,9 +513,11 @@ var angularportalazure;
|
|
|
514
513
|
var _this = _super.call(this, $scope, portalService) || this;
|
|
515
514
|
_this.blades = new Array();
|
|
516
515
|
var that = _this;
|
|
516
|
+
_this.areaBlades = $('#apa-blade-area');
|
|
517
|
+
_this.portalScroll = $('#apa-portal-scroll');
|
|
517
518
|
// Set dependencies
|
|
518
519
|
_this.portalService = portalService;
|
|
519
|
-
|
|
520
|
+
//this.portalService.bladeArea = this;
|
|
520
521
|
//#region Add BladeArea.AddBlade event listener
|
|
521
522
|
/** OBSOLETE: remove when all OBSOLETE code has been removed */
|
|
522
523
|
if (portalService instanceof angularportalazure.PortalService == false) {
|
|
@@ -528,8 +529,9 @@ var angularportalazure;
|
|
|
528
529
|
_this.listener1 = that.portalService.$rootScope.$on('BladeArea.AddBlade', function (event, args) {
|
|
529
530
|
that.addBlade(args.path, args.pathSender);
|
|
530
531
|
});
|
|
531
|
-
return _this;
|
|
532
532
|
//#endregion
|
|
533
|
+
_this.setupResizerListener();
|
|
534
|
+
return _this;
|
|
533
535
|
}
|
|
534
536
|
//#endregion
|
|
535
537
|
//#region Methods
|
|
@@ -573,9 +575,9 @@ var angularportalazure;
|
|
|
573
575
|
if (that.portalService.$window.document === undefined) {
|
|
574
576
|
throw new Error('[angularportalazure.BladeArea] \'this.$window.document\' undefined.');
|
|
575
577
|
}
|
|
576
|
-
var portalcontent = that.portalService.$window.document.getElementById('
|
|
578
|
+
var portalcontent = that.portalService.$window.document.getElementById('apa-portal-scroll');
|
|
577
579
|
if (portalcontent === null) {
|
|
578
|
-
throw new Error('[angularportalazure.BladeArea] HTML element with ID [
|
|
580
|
+
throw new Error('[angularportalazure.BladeArea] HTML element with ID [apa-portal-scroll] not found. Maybe it is to early to call function \'BladeArea.addBlade\'.');
|
|
579
581
|
}
|
|
580
582
|
}
|
|
581
583
|
//#endregion
|
|
@@ -678,6 +680,48 @@ var angularportalazure;
|
|
|
678
680
|
BladeArea.prototype.close = function () {
|
|
679
681
|
this.listener1(); // Unregister listener1
|
|
680
682
|
};
|
|
683
|
+
//#endregion
|
|
684
|
+
//#region OBSOLETE
|
|
685
|
+
//addBladePath(path: string) {
|
|
686
|
+
// // Fix issue with old code
|
|
687
|
+
// if (this.portalService.$window === undefined) {
|
|
688
|
+
// this.portalService.$window = <any>this.portalService;
|
|
689
|
+
// }
|
|
690
|
+
// this.addBlade(path);
|
|
691
|
+
// //this.addBladeOld(path);
|
|
692
|
+
//}
|
|
693
|
+
//addBladeOld(path: string) {
|
|
694
|
+
// var that = this;
|
|
695
|
+
// if (path === undefined || path == '') { return; }
|
|
696
|
+
// var blade = new angularportalazure.Blade(that.$scope, that.portalService, path, '');
|
|
697
|
+
// that.blades.push(blade);
|
|
698
|
+
// var portalcontent = that.portalService.$window.document.getElementById('apa-portal-scroll');
|
|
699
|
+
// that.portalService.$window.setTimeout(function () {
|
|
700
|
+
// var azureportalblades = that.portalService.$window.document.getElementsByClassName('azureportalblade');
|
|
701
|
+
// var i = that.blades.length - 1;
|
|
702
|
+
// // HACK: Sometime azureportalblades[i].offsetLeft is undefined.
|
|
703
|
+
// // So now if it is, the user has to scroll on its own.
|
|
704
|
+
// if (azureportalblades[i] !== undefined && (<any>azureportalblades[i]).offsetLeft !== undefined) {
|
|
705
|
+
// var sl = (<any>azureportalblades[i]).offsetLeft - 30;
|
|
706
|
+
// portalcontent.scrollLeft = sl;
|
|
707
|
+
// }
|
|
708
|
+
// }, 250);
|
|
709
|
+
//}
|
|
710
|
+
//#endregion
|
|
711
|
+
BladeArea.prototype.setupResizerListener = function () {
|
|
712
|
+
var that = this;
|
|
713
|
+
that.portalScroll.css('margin-right', that.portalService.areaNotification.widthAreaUsed + 'px');
|
|
714
|
+
console.log(that.portalScroll.css('margin-right'));
|
|
715
|
+
// http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing
|
|
716
|
+
var id;
|
|
717
|
+
$(window).resize(function () {
|
|
718
|
+
clearTimeout(id);
|
|
719
|
+
id = setTimeout(function () {
|
|
720
|
+
that.portalScroll.css('margin-right', that.portalService.areaNotification.widthAreaUsed + 'px');
|
|
721
|
+
console.log(that.portalScroll.css('margin-right'));
|
|
722
|
+
}, 50);
|
|
723
|
+
});
|
|
724
|
+
};
|
|
681
725
|
return BladeArea;
|
|
682
726
|
}(angularportalazure.UserControlBase));
|
|
683
727
|
//#region Constructor
|
|
@@ -685,6 +729,146 @@ var angularportalazure;
|
|
|
685
729
|
angularportalazure.BladeArea = BladeArea;
|
|
686
730
|
angular.module('angularportalazure').service('angularportalazure.bladeArea', BladeArea);
|
|
687
731
|
})(angularportalazure || (angularportalazure = {}));
|
|
732
|
+
/// <reference path="bladearea.ts" />
|
|
733
|
+
/// <reference path="debug.ts" />
|
|
734
|
+
/// <reference path="portalservice.ts" />
|
|
735
|
+
"use strict";
|
|
736
|
+
var angularportalazure;
|
|
737
|
+
(function (angularportalazure) {
|
|
738
|
+
var BladeData = (function (_super) {
|
|
739
|
+
__extends(BladeData, _super);
|
|
740
|
+
//#region Constructor
|
|
741
|
+
function BladeData($scope, portalService, path, title, subtitle, width) {
|
|
742
|
+
if (subtitle === void 0) { subtitle = ''; }
|
|
743
|
+
if (width === void 0) { width = 300; }
|
|
744
|
+
return _super.call(this, $scope, portalService, path, title, subtitle, width) || this;
|
|
745
|
+
}
|
|
746
|
+
return BladeData;
|
|
747
|
+
}(angularportalazure.Blade));
|
|
748
|
+
angularportalazure.BladeData = BladeData;
|
|
749
|
+
})(angularportalazure || (angularportalazure = {}));
|
|
750
|
+
/// <reference path="bladedata.ts" />
|
|
751
|
+
/// <reference path="debug.ts" />
|
|
752
|
+
/// <reference path="bladenavitem.ts" />
|
|
753
|
+
/// <reference path="portalservice.ts" />
|
|
754
|
+
"use strict";
|
|
755
|
+
var angularportalazure;
|
|
756
|
+
(function (angularportalazure) {
|
|
757
|
+
var BladeNav = (function (_super) {
|
|
758
|
+
__extends(BladeNav, _super);
|
|
759
|
+
//#region Constructor
|
|
760
|
+
function BladeNav($scope, portalService, path, title, subtitle, width) {
|
|
761
|
+
if (title === void 0) { title = ''; }
|
|
762
|
+
if (subtitle === void 0) { subtitle = ''; }
|
|
763
|
+
if (width === void 0) { width = 315; }
|
|
764
|
+
var _this = _super.call(this, $scope, portalService, path, title, subtitle, width) || this;
|
|
765
|
+
//#endregion
|
|
766
|
+
//#region Properties
|
|
767
|
+
_this.items = new Array();
|
|
768
|
+
_this.isNav = true;
|
|
769
|
+
_this.isInnerHtml = false;
|
|
770
|
+
return _this;
|
|
771
|
+
}
|
|
772
|
+
//#endregion
|
|
773
|
+
//#region Methods
|
|
774
|
+
BladeNav.prototype.onNavigateTo = function (path) {
|
|
775
|
+
if (path === '') {
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
this.portalService.bladeArea.raiseAddBladeEvent({ path: path, pathSender: this.path });
|
|
779
|
+
};
|
|
780
|
+
return BladeNav;
|
|
781
|
+
}(angularportalazure.BladeData));
|
|
782
|
+
angularportalazure.BladeNav = BladeNav;
|
|
783
|
+
})(angularportalazure || (angularportalazure = {}));
|
|
784
|
+
/// <reference path="debug.ts" />
|
|
785
|
+
/// <reference path="bladenav.ts" />
|
|
786
|
+
"use strict";
|
|
787
|
+
var angularportalazure;
|
|
788
|
+
(function (angularportalazure) {
|
|
789
|
+
var BladeNavItem = (function () {
|
|
790
|
+
//#region Constructor
|
|
791
|
+
function BladeNavItem(title, cssClass, bladePath, hrefPath, roles, isVisible, callback, bladeNav) {
|
|
792
|
+
if (title === void 0) { title = ''; }
|
|
793
|
+
if (cssClass === void 0) { cssClass = ""; }
|
|
794
|
+
if (bladePath === void 0) { bladePath = ''; }
|
|
795
|
+
if (hrefPath === void 0) { hrefPath = ""; }
|
|
796
|
+
if (roles === void 0) { roles = ""; }
|
|
797
|
+
if (isVisible === void 0) { isVisible = true; }
|
|
798
|
+
if (callback === void 0) { callback = null; }
|
|
799
|
+
if (bladeNav === void 0) { bladeNav = null; }
|
|
800
|
+
this.title = title;
|
|
801
|
+
this.cssClass = cssClass;
|
|
802
|
+
this.bladePath = bladePath;
|
|
803
|
+
this.hrefPath = hrefPath;
|
|
804
|
+
this.roles = roles;
|
|
805
|
+
this.isVisible = isVisible;
|
|
806
|
+
this.callback = callback;
|
|
807
|
+
this.bladeNav = bladeNav;
|
|
808
|
+
}
|
|
809
|
+
//#endregion
|
|
810
|
+
//#region
|
|
811
|
+
BladeNavItem.prototype.onNavItemClick = function () {
|
|
812
|
+
if (this.callback != null) {
|
|
813
|
+
this.callback();
|
|
814
|
+
}
|
|
815
|
+
};
|
|
816
|
+
return BladeNavItem;
|
|
817
|
+
}());
|
|
818
|
+
angularportalazure.BladeNavItem = BladeNavItem;
|
|
819
|
+
})(angularportalazure || (angularportalazure = {}));
|
|
820
|
+
/// <reference path="bladedata.ts" />
|
|
821
|
+
/// <reference path="debug.ts" />
|
|
822
|
+
/// <reference path="bladenavitem.ts" />
|
|
823
|
+
/// <reference path="portalservice.ts" />
|
|
824
|
+
"use strict";
|
|
825
|
+
var angularportalazure;
|
|
826
|
+
(function (angularportalazure) {
|
|
827
|
+
var AreaNotification = (function (_super) {
|
|
828
|
+
__extends(AreaNotification, _super);
|
|
829
|
+
//#region Constructor
|
|
830
|
+
function AreaNotification($scope, portalService) {
|
|
831
|
+
var _this = _super.call(this, $scope, portalService) || this;
|
|
832
|
+
_this.widthAreaUsed = 0;
|
|
833
|
+
_this.width = 250;
|
|
834
|
+
_this.backgroundColor = '#32383f';
|
|
835
|
+
_this.areaNotification = $('#apa-notification-area');
|
|
836
|
+
_this.hide();
|
|
837
|
+
_this.setupResizerListener();
|
|
838
|
+
return _this;
|
|
839
|
+
}
|
|
840
|
+
//#endregion
|
|
841
|
+
//#region Methods
|
|
842
|
+
AreaNotification.prototype.hide = function () {
|
|
843
|
+
this.widthAreaUsed = 0;
|
|
844
|
+
this.areaNotification.css('display', 'none');
|
|
845
|
+
};
|
|
846
|
+
AreaNotification.prototype.show = function () {
|
|
847
|
+
this.areaNotification.css('position', 'absolute');
|
|
848
|
+
this.areaNotification.css('top:0', '0');
|
|
849
|
+
this.areaNotification.css('height', '100%');
|
|
850
|
+
this.areaNotification.css('background-color', this.backgroundColor);
|
|
851
|
+
this.areaNotification.css('border-left', '2px solid gray');
|
|
852
|
+
this.areaNotification.css('width', this.width + 'px');
|
|
853
|
+
this.areaNotification.css('left', $(window).width() - this.width + 'px');
|
|
854
|
+
this.widthAreaUsed = this.width;
|
|
855
|
+
this.areaNotification.css('display', 'inline-block');
|
|
856
|
+
};
|
|
857
|
+
AreaNotification.prototype.setupResizerListener = function () {
|
|
858
|
+
var that = this;
|
|
859
|
+
// http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing
|
|
860
|
+
var id;
|
|
861
|
+
$(window).resize(function () {
|
|
862
|
+
clearTimeout(id);
|
|
863
|
+
id = setTimeout(function () {
|
|
864
|
+
that.show();
|
|
865
|
+
}, 50);
|
|
866
|
+
});
|
|
867
|
+
};
|
|
868
|
+
return AreaNotification;
|
|
869
|
+
}(angularportalazure.UserControlBase));
|
|
870
|
+
angularportalazure.AreaNotification = AreaNotification;
|
|
871
|
+
})(angularportalazure || (angularportalazure = {}));
|
|
688
872
|
"use strict";
|
|
689
873
|
/// <reference path="debug.ts" />
|
|
690
874
|
/// <reference path="portalservice.ts" />
|
|
@@ -874,47 +1058,24 @@ var angularportalazure;
|
|
|
874
1058
|
(function (angularportalazure) {
|
|
875
1059
|
var PortalShell = (function (_super) {
|
|
876
1060
|
__extends(PortalShell, _super);
|
|
877
|
-
//#endregion
|
|
878
|
-
//#endregion
|
|
879
1061
|
//#region Constructor
|
|
880
1062
|
function PortalShell(portalService, title) {
|
|
881
1063
|
var _this = _super.call(this, null, portalService) || this;
|
|
882
1064
|
_this.portalService = portalService;
|
|
883
1065
|
_this.portalService.portalShell = _this;
|
|
884
1066
|
_this.portalService.panorama = new angularportalazure.Panorama(_this.$scope, title, _this.portalService);
|
|
885
|
-
|
|
886
|
-
_this.
|
|
1067
|
+
//this.portalService.bladeArea = new angularportalazure.BladeArea(this.$scope, portalService);
|
|
1068
|
+
_this.portalService.panorama.title = title;
|
|
887
1069
|
return _this;
|
|
1070
|
+
//this.initialize();
|
|
888
1071
|
}
|
|
889
|
-
//#endregion
|
|
890
|
-
//#region Methods
|
|
891
|
-
PortalShell.prototype.initialize = function () {
|
|
892
|
-
this.setObsoleteLayoutProperites();
|
|
893
|
-
};
|
|
894
|
-
PortalShell.prototype.setObsoleteLayoutProperites = function () {
|
|
895
|
-
this.title = this.portalService.panorama.title;
|
|
896
|
-
this.tiles = this.portalService.panorama.startboard.tiles.tiles;
|
|
897
|
-
this.blades = this.portalService.bladeArea.blades;
|
|
898
|
-
//var bladeServiceOLD = <angularportalazure.Blade>this.portalService.$injector.get('bladeService');
|
|
899
|
-
//bladeServiceOLD.blades = this.portalService.bladeArea.blades;
|
|
900
|
-
if (this.portalService.panorama.avatarMenu.userAccount != undefined) {
|
|
901
|
-
this.user = {
|
|
902
|
-
name: this.portalService.panorama.avatarMenu.userAccount.name,
|
|
903
|
-
emailaddress: this.portalService.panorama.avatarMenu.userAccount.userName
|
|
904
|
-
};
|
|
905
|
-
}
|
|
906
|
-
//if (this.portalService.bladeArea != null) {
|
|
907
|
-
// this.portalService.bladeArea.blades.forEach(function (blade) {
|
|
908
|
-
// //blade.setObsoleteLayoutProperites();
|
|
909
|
-
// });
|
|
910
|
-
//}
|
|
911
|
-
};
|
|
912
1072
|
return PortalShell;
|
|
913
1073
|
}(angularportalazure.UserControlBase));
|
|
914
1074
|
angularportalazure.PortalShell = PortalShell;
|
|
915
1075
|
})(angularportalazure || (angularportalazure = {}));
|
|
916
1076
|
/// <reference types="angular" />
|
|
917
1077
|
/// <reference types="angulartics" />
|
|
1078
|
+
/// <reference path="areanotification.ts" />
|
|
918
1079
|
/// <reference path="bladearea.ts" />
|
|
919
1080
|
/// <reference path="debug.ts" />
|
|
920
1081
|
/// <reference path="bladeparameter.ts" />
|
|
@@ -964,7 +1125,7 @@ var angularportalazure;
|
|
|
964
1125
|
controller: function () {
|
|
965
1126
|
this.$onInit = function () {
|
|
966
1127
|
this.close = function () {
|
|
967
|
-
portalService.bladeArea.clearLastLevel();
|
|
1128
|
+
//portalService.bladeArea.clearLastLevel();
|
|
968
1129
|
};
|
|
969
1130
|
};
|
|
970
1131
|
},
|
|
@@ -991,7 +1152,7 @@ var angularportalazure;
|
|
|
991
1152
|
controller: function () {
|
|
992
1153
|
this.$onInit = function () {
|
|
993
1154
|
this.close = function () {
|
|
994
|
-
portalService.bladeArea.clearLastLevel();
|
|
1155
|
+
//portalService.bladeArea.clearLastLevel();
|
|
995
1156
|
};
|
|
996
1157
|
};
|
|
997
1158
|
},
|
|
@@ -1033,8 +1194,10 @@ var angularportalazure;
|
|
|
1033
1194
|
AngularPortalBladeController.$inject = ['angularportalazure.portalService'];
|
|
1034
1195
|
function AngularPortalBladeController(portalService) {
|
|
1035
1196
|
this.$onInit = function () {
|
|
1197
|
+
portalService.areaNotification.show();
|
|
1036
1198
|
this.close = function () {
|
|
1037
|
-
portalService.bladeArea.clearLastLevel();
|
|
1199
|
+
//portalService.bladeArea.clearLastLevel();
|
|
1200
|
+
portalService.areaNotification.hide();
|
|
1038
1201
|
};
|
|
1039
1202
|
};
|
|
1040
1203
|
}
|
|
@@ -1096,9 +1259,17 @@ var angularportalazure;
|
|
|
1096
1259
|
// };
|
|
1097
1260
|
//}
|
|
1098
1261
|
//angular.module('angularportalazure').directive('angularPortalHome', angularPortalHome);
|
|
1262
|
+
AngularPortalHomeController.$inject = ['$scope', 'angularportalazure.portalService'];
|
|
1263
|
+
function AngularPortalHomeController($scope, portalService) {
|
|
1264
|
+
this.$onInit = function () {
|
|
1265
|
+
console.log('initializse');
|
|
1266
|
+
portalService.areaNotification = new angularportalazure.AreaNotification($scope, portalService);
|
|
1267
|
+
portalService.bladeArea = new angularportalazure.BladeArea($scope, portalService);
|
|
1268
|
+
};
|
|
1269
|
+
}
|
|
1099
1270
|
var angularPortalHome = {
|
|
1100
1271
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/home/home.html',
|
|
1101
|
-
controller:
|
|
1272
|
+
controller: AngularPortalHomeController,
|
|
1102
1273
|
bindings: {
|
|
1103
1274
|
vm: '='
|
|
1104
1275
|
}
|
|
@@ -1145,24 +1316,6 @@ var angularportalazure;
|
|
|
1145
1316
|
};
|
|
1146
1317
|
angular.module('angularportalazure').component('nav', nav);
|
|
1147
1318
|
})(angularportalazure || (angularportalazure = {}));
|
|
1148
|
-
/// <reference path="bladearea.ts" />
|
|
1149
|
-
/// <reference path="debug.ts" />
|
|
1150
|
-
/// <reference path="portalservice.ts" />
|
|
1151
|
-
"use strict";
|
|
1152
|
-
var angularportalazure;
|
|
1153
|
-
(function (angularportalazure) {
|
|
1154
|
-
var BladeData = (function (_super) {
|
|
1155
|
-
__extends(BladeData, _super);
|
|
1156
|
-
//#region Constructor
|
|
1157
|
-
function BladeData($scope, portalService, path, title, subtitle, width) {
|
|
1158
|
-
if (subtitle === void 0) { subtitle = ''; }
|
|
1159
|
-
if (width === void 0) { width = 300; }
|
|
1160
|
-
return _super.call(this, $scope, portalService, path, title, subtitle, width) || this;
|
|
1161
|
-
}
|
|
1162
|
-
return BladeData;
|
|
1163
|
-
}(angularportalazure.Blade));
|
|
1164
|
-
angularportalazure.BladeData = BladeData;
|
|
1165
|
-
})(angularportalazure || (angularportalazure = {}));
|
|
1166
1319
|
/// <reference path="bladedata.ts" />
|
|
1167
1320
|
/// <reference path="debug.ts" />
|
|
1168
1321
|
/// <reference path="portalservice.ts" />
|
|
@@ -1363,96 +1516,6 @@ var angularportalazure;
|
|
|
1363
1516
|
angularportalazure.BladeGrid = BladeGrid;
|
|
1364
1517
|
})(angularportalazure || (angularportalazure = {}));
|
|
1365
1518
|
/// <reference path="debug.ts" />
|
|
1366
|
-
/// <reference path="bladenav.ts" />
|
|
1367
|
-
"use strict";
|
|
1368
|
-
var angularportalazure;
|
|
1369
|
-
(function (angularportalazure) {
|
|
1370
|
-
var BladeNavItem = (function () {
|
|
1371
|
-
//#region Constructor
|
|
1372
|
-
function BladeNavItem(title, cssClass, bladePath, hrefPath, roles, isVisible, callback, bladeNav) {
|
|
1373
|
-
if (title === void 0) { title = ''; }
|
|
1374
|
-
if (cssClass === void 0) { cssClass = ""; }
|
|
1375
|
-
if (bladePath === void 0) { bladePath = ''; }
|
|
1376
|
-
if (hrefPath === void 0) { hrefPath = ""; }
|
|
1377
|
-
if (roles === void 0) { roles = ""; }
|
|
1378
|
-
if (isVisible === void 0) { isVisible = true; }
|
|
1379
|
-
if (callback === void 0) { callback = null; }
|
|
1380
|
-
if (bladeNav === void 0) { bladeNav = null; }
|
|
1381
|
-
this.title = title;
|
|
1382
|
-
this.cssClass = cssClass;
|
|
1383
|
-
this.bladePath = bladePath;
|
|
1384
|
-
this.hrefPath = hrefPath;
|
|
1385
|
-
this.roles = roles;
|
|
1386
|
-
this.isVisible = isVisible;
|
|
1387
|
-
this.callback = callback;
|
|
1388
|
-
this.bladeNav = bladeNav;
|
|
1389
|
-
}
|
|
1390
|
-
//#endregion
|
|
1391
|
-
//#region
|
|
1392
|
-
BladeNavItem.prototype.onNavItemClick = function () {
|
|
1393
|
-
if (this.callback != null) {
|
|
1394
|
-
this.callback();
|
|
1395
|
-
}
|
|
1396
|
-
};
|
|
1397
|
-
return BladeNavItem;
|
|
1398
|
-
}());
|
|
1399
|
-
angularportalazure.BladeNavItem = BladeNavItem;
|
|
1400
|
-
})(angularportalazure || (angularportalazure = {}));
|
|
1401
|
-
/// <reference path="bladedata.ts" />
|
|
1402
|
-
/// <reference path="debug.ts" />
|
|
1403
|
-
/// <reference path="bladenavitem.ts" />
|
|
1404
|
-
/// <reference path="portalservice.ts" />
|
|
1405
|
-
"use strict";
|
|
1406
|
-
var angularportalazure;
|
|
1407
|
-
(function (angularportalazure) {
|
|
1408
|
-
var BladeNav = (function (_super) {
|
|
1409
|
-
__extends(BladeNav, _super);
|
|
1410
|
-
//#region Constructor
|
|
1411
|
-
function BladeNav($scope, portalService, path, title, subtitle, width) {
|
|
1412
|
-
if (title === void 0) { title = ''; }
|
|
1413
|
-
if (subtitle === void 0) { subtitle = ''; }
|
|
1414
|
-
if (width === void 0) { width = 315; }
|
|
1415
|
-
var _this = _super.call(this, $scope, portalService, path, title, subtitle, width) || this;
|
|
1416
|
-
//#endregion
|
|
1417
|
-
//#region Properties
|
|
1418
|
-
_this.items = new Array();
|
|
1419
|
-
_this.isNav = true;
|
|
1420
|
-
_this.isInnerHtml = false;
|
|
1421
|
-
return _this;
|
|
1422
|
-
}
|
|
1423
|
-
//#endregion
|
|
1424
|
-
//#region Methods
|
|
1425
|
-
BladeNav.prototype.onNavigateTo = function (path) {
|
|
1426
|
-
if (path === '') {
|
|
1427
|
-
return;
|
|
1428
|
-
}
|
|
1429
|
-
this.portalService.bladeArea.raiseAddBladeEvent({ path: path, pathSender: this.path });
|
|
1430
|
-
};
|
|
1431
|
-
return BladeNav;
|
|
1432
|
-
}(angularportalazure.BladeData));
|
|
1433
|
-
angularportalazure.BladeNav = BladeNav;
|
|
1434
|
-
})(angularportalazure || (angularportalazure = {}));
|
|
1435
|
-
/// <reference path="bladedata.ts" />
|
|
1436
|
-
/// <reference path="debug.ts" />
|
|
1437
|
-
/// <reference path="bladenavitem.ts" />
|
|
1438
|
-
/// <reference path="portalservice.ts" />
|
|
1439
|
-
"use strict";
|
|
1440
|
-
var angularportalazure;
|
|
1441
|
-
(function (angularportalazure) {
|
|
1442
|
-
var BladeNotification = (function (_super) {
|
|
1443
|
-
__extends(BladeNotification, _super);
|
|
1444
|
-
//#region Constructor
|
|
1445
|
-
function BladeNotification($scope, portalService, path, title, subtitle, width) {
|
|
1446
|
-
if (title === void 0) { title = ''; }
|
|
1447
|
-
if (subtitle === void 0) { subtitle = ''; }
|
|
1448
|
-
if (width === void 0) { width = 315; }
|
|
1449
|
-
return _super.call(this, $scope, portalService, path, title, subtitle, width) || this;
|
|
1450
|
-
}
|
|
1451
|
-
return BladeNotification;
|
|
1452
|
-
}(angularportalazure.BladeData));
|
|
1453
|
-
angularportalazure.BladeNotification = BladeNotification;
|
|
1454
|
-
})(angularportalazure || (angularportalazure = {}));
|
|
1455
|
-
/// <reference path="debug.ts" />
|
|
1456
1519
|
"use strict";
|
|
1457
1520
|
var angularportalazure;
|
|
1458
1521
|
(function (angularportalazure) {
|
package/css/apn.css
CHANGED
|
@@ -66,7 +66,7 @@ a {
|
|
|
66
66
|
margin: 0 15px 0 25px; }
|
|
67
67
|
|
|
68
68
|
.fxs-panorama .fxs-journey-target {
|
|
69
|
-
margin-right: 85px
|
|
69
|
+
/*margin-right: 85px;*/ }
|
|
70
70
|
|
|
71
71
|
.fxs-panorama .fxs-panorama-homearea, .fxs-panorama .fxs-journey-target {
|
|
72
72
|
display: inline-block;
|
|
@@ -327,7 +327,7 @@ a {
|
|
|
327
327
|
white-space: normal; }
|
|
328
328
|
|
|
329
329
|
.fxs-journey > .fxs-journey-layout > :last-child.fxs-stacklayout-child {
|
|
330
|
-
padding-right: 5px
|
|
330
|
+
/*padding-right: 5px;*/ }
|
|
331
331
|
|
|
332
332
|
.fxs-journey > .fxs-journey-layout > .fxs-stacklayout-child > .fxs-blade {
|
|
333
333
|
box-shadow: -5px 0 0 rgba(31, 35, 39, 0.2), 5px 0 0 rgba(31, 35, 39, 0.2); }
|
package/css/apn.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";html,body{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;height:100%;width:0;}a{color:#00bcf2;text-decoration:none;}.ng-scope{height:100%;}.fxs-portal{overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;}.fxs-portal .fxs-portal-content{height:100%;color:#464f59;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-transition:margin .2s ease;-moz-transition:margin .2s ease;-o-transition:margin .2s ease;transition:margin .2s ease;}.fxs-portal .fxs-portal-content>*{white-space:normal;}.fxs-panorama{-ms-scroll-chaining:none;}.fxs-panorama-homearea{min-width:600px;}.fxs-panorama .fxs-panorama-homearea{position:relative;padding:0 25px;margin:0 15px 0 25px;}.fxs-panorama .fxs-journey-target{margin-right:85px;}.fxs-panorama .fxs-panorama-homearea,.fxs-panorama .fxs-journey-target{display:inline-block;vertical-align:top;height:100%;}.fxs-panorama .fxs-panorama-homearea>header{margin:20px 0 4px;height:76px;min-width:450px;}.fxs-panorama .fxs-panorama-homearea .fxs-panorama-title{font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:40px;line-height:54px;color:#fff;padding-top:6px;margin:0;}.fxs-panorama .fxs-panorama-homearea .fxs-avatarmenu-target{position:absolute;top:18px;right:5px;max-width:220px;min-width:190px;}.fxs-avatarmenu{position:relative;padding:12px;text-align:right;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}.fxs-avatarmenu .fxs-avatarmenu-header{position:relative;font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;height:35px;color:#fff;}.fxs-avatarmenu>a{display:block;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-decoration:none;padding:10px;padding-right:54px;}.fxs-avatarmenu>a img{position:absolute;top:10px;right:10px;height:35px;width:32px;border:0;border-left:3px solid #7fba00;}.fxs-avatarmenu .fxs-avatarmenu-header .fxs-avatarmenu-username{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-size:14px;}.fxs-avatarmenu .fxs-avatarmenu-header .fxs-avatarmenu-emailaddress{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;text-transform:uppercase;opacity:.9;margin-top:4px;}.fxs-avatarmenu .fxs-avatarmenu-dropdown{display:none;width:100%;background-color:#32383f;border-top:1px solid #3c454f;text-align:left;}.fxs-avatarmenu .fxs-avatarmenu-dropdown ul{padding:0;margin:0;list-style-type:none;border-bottom:1px solid #3c454f;}.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-feedback,.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-switchportal,.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-signout{padding-right:35px;position:relative;}.fxs-avatarmenu .fxs-avatarmenu-dropdown ul li a{display:block;font-size:14px;padding:10px 18px 11px;line-height:18px;color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-icon{width:15px;height:15px;display:inline-block;position:absolute;right:18px;margin-top:2px;}.fxs-panorama .fxs-panorama-homearea .fxs-startboard-target{height:-webkit-calc(100% - 100px);height:calc(100% - 100px);}.fxs-startboard .fxs-startboard-layout{height:100%;overflow-y:hidden;overflow-x:hidden;margin:0 -25px;padding:0 25px;}.fxs-stacklayout-child{height:100%;}.fxs-flowlayout>.fxs-flowlayout-childcontainer{position:relative;-webkit-transition:height .25s linear,width .25s linear 0s;-moz-transition:height .25s linear,width .25s linear 0s;-o-transition:height .25s linear,width .25s linear 0s;transition:height .25s linear,width .25s linear 0s;}.fxs-flowlayout>.fxs-flowlayout-childcontainer>.fxs-flowlayout-element{position:absolute;}.fxs-tilesize-herowide.fxs-tile{height:355px;width:535px;}.fxs-tilesize-normal.fxs-tile{height:175px;width:175px;}.fxs-tilesize-mini.fxs-tile{height:85px;width:85px;}.fxs-tile{height:175px;width:175px;-webkit-transition:height .125s linear .125s,width .125s linear 0s;-moz-transition:height .125s linear .125s,width .125s linear 0s;-o-transition:height .125s linear .125s,width .125s linear 0s;transition:height .125s linear .125s,width .125s linear 0s;background-color:#fff;position:relative;}.fxs-part{width:100%;height:100%;position:relative;box-shadow:inset 1px 0 #dcdfe2;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:15px 15px 15px 15px;box-shadow:inset 1px 0 #dcdfe2;}.fxs-part .fxs-part-title{position:relative;top:-4px;}.fxs-part .fxs-part-title h2{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:14px;line-height:17px;color:#32383f;}.fxs-part .fxs-part-title h3{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#8f9ca8;text-transform:uppercase;margin-top:3px;}.fxs-part .fxs-part-title h2,.fxs-part .fxs-part-title h3{margin:0;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-part .fxs-part-content{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;line-height:18px;color:#464f59;position:relative;width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.fxs-tile div.fxs-tile-overlay{display:none;position:absolute;width:100%;top:0;bottom:0;cursor:pointer;}.fxs-journey{height:100%;}.fxs-journey>.fxs-journey-layout{height:100%;}.fxs-journey>.fxs-journey-layout>.fxs-stacklayout-child{-webkit-transition:padding-top .2s ease,opacity .2s ease;transition:padding-top .2s ease,opacity .2s ease;}.fxs-stacklayout-horizontal.fxs-stacklayout{overflow:hidden;white-space:nowrap;height:100%;}.fxs-stacklayout-horizontal.fxs-stacklayout>.fxs-stacklayout-child{display:inline-block;vertical-align:top;overflow-y:auto;height:100%;white-space:normal;}.fxs-journey>.fxs-journey-layout>:last-child.fxs-stacklayout-child{padding-right:5px;}.fxs-journey>.fxs-journey-layout>.fxs-stacklayout-child>.fxs-blade{box-shadow:-5px 0 0 rgba(31,35,39,.2),5px 0 0 rgba(31,35,39,.2);}.fxs-journey-layout :first-child.fxs-stacklayout-child .fxs-blade{border-left-color:transparent;border-left-width:0;}.fxs-blade-locked.fxs-blade{background-color:#fff;}.fxs-bladesize-small.fxs-blade{width:315px;}.fxs-blade{border-left-color:rgba(143,156,168,.8);width:585px;position:relative;height:100%;background-color:#f1f2f3;overflow:hidden;-webkit-transition:width .2s ease-out;-moz-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out;border-left-style:solid;border-left-width:2px;}.fxs-blade .fxs-blade-header{padding-bottom:8px;background-color:#3e4045;min-height:117px;}.fxs-blade .fxs-blade-statusbar-wrapper{background-color:#32383f;}.fxs-blade .fxs-blade-statusbar::after{content:" ";}.fxs-blade .fxs-blade-statusbar{-webkit-transition:all .5s,color .5s;-moz-transition:all .5s,color .5s;-o-transition:all .5s,color .5s;transition:all .5s,color .5s;}.fxs-blade .fxs-blade-statusbar,.fxs-blade .fxs-blade-loading-status{padding:5px 0 5px 25px;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#fff;text-transform:uppercase;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-actions{-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out;float:right;margin-right:22px;height:40px;}.fxs-blade .fxs-blade-header .fxs-blade-actions button{cursor:pointer;border:0;height:21px;width:21px;background-color:transparent;margin-top:4px;margin-left:6px;padding:0;opacity:.3;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;transition:opacity .2s ease-out;}.fxs-blade .fxs-blade-header .fxs-blade-actions button img,.fxs-blade .fxs-blade-header .fxs-blade-actions button svg{height:21px;width:21px;}.msportal-fx-svg-placeholder{fill:#fff;}.fxs-blade .fxs-blade-header .fxs-blade-actions button>svg *{fill:#8f9ca8;}.fxs-blade .fxs-blade-header .fxs-blade-actions button svg *{fill:#63707e;}.msportalfx-svg-c01{fill:#fff;}.fxs-blade .fxs-blade-header .fxs-blade-title{padding:0 25px 2px 7px;margin-left:18px;}.fxs-blade .fxs-blade-header .fxs-blade-title h2::after,.fxs-blade .fxs-blade-header .fxs-blade-title h3::after{content:" ";}.fxs-blade .fxs-blade-header .fxs-blade-title h2{margin:0;font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:20px;line-height:28px;color:#fff;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-title h3{margin:3px 0 2px 0;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#758393;text-transform:uppercase;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-commandBarContainer{margin:0 20px 0 15px;}.fxs-commandBar{display:none;}.fxs-commandBar-active.fxs-commandBar{display:block;}.fxs-commandBar>ul.fxs-commandBar-itemList{display:block;margin:4px 0 0;padding:0;list-style-type:none;overflow:hidden;height:48px;-webkit-transition:height .175s ease-in;-moz-transition:height .175s ease-in;-o-transition:height .175s ease-in;transition:height .175s ease-in;}.fxs-commandBar>ul.fxs-commandBar-itemList>li{border-right-color:#6c737a;float:left;margin-bottom:5px;border-right:1px solid transparent;}.fxs-commandBar .fxs-commandBar-form{display:block;position:absolute;z-index:200;width:100%;left:0;}.fxs-commandBar .fxs-commandBar-item{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#fff;text-transform:uppercase;display:block;position:relative;padding:3px 10px 0;width:90px;height:48px;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background-color .07s ease-in;transition:background-color .07s ease-in;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-text{height:22px;-webkit-transition:opacity .07s ease-in;transition:opacity .07s ease-in;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon{position:absolute;bottom:2px;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon>svg,.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon>img{height:18px;width:18px;}.fxs-commandBar .fxs-commandBar-item-expandList.fxs-commandBar-item::after{content:"…";position:absolute;bottom:9px;left:40px;font-size:23px;line-height:23px;}.fxs-commandBar .fxs-commandBar-item:hover{background-color:#1f2327;}.fxs-blade .fxs-blade-content{padding:25px;overflow-x:hidden;overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-scrollbar-track-color:#d8d8ea;-ms-scrollbar-arrow-color:#758393;-ms-scrollbar-face-color:#63707e;}.fxs-bladesize-small.fxs-blade .fxs-blade-stacklayout{width:265px;}.fxs-blade .fxs-blade-content>div{height:100%;}.fxs-bladesize-medium.fxs-blade{width:585px;}.fxs-bladesize-medium.fxs-blade .fxs-blade-stacklayout{width:535px;}.fxs-blade .fxs-blade-stacklayout{width:535px;}.fxs-blade .fxs-blade-maximized-content{display:none;}.fxs-stacklayout-vertical.fxs-stacklayout>.fxs-stacklayout-child{display:block;}.fxs-lens{position:relative;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.fxs-lens .fxs-lens-title{color:#3d4045;}.fxs-lens>.fxs-lens-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:14px;line-height:32px;color:#3d4045;}.fxs-lens>.fxs-lens-layout{height:100%;}:last-child.fxs-tilesize-herowidefitheight.fxs-tile,:last-child.fxs-tilesize-fullwidthfitheight.fxs-tile{margin-bottom:0;}.fxs-tilesize-herowidefitheight.fxs-tile,.fxs-tilesize-fullwidthfitheight.fxs-tile{margin-bottom:5px;}.fxs-tilesize-fullwidthfitheight.fxs-tile{height:100%;width:100%;}.fxs-blade-locked.fxs-blade .fxs-part,.fxs-bladestyle-context.fxs-blade .fxs-part,.fxs-bladestyle-contextaction.fxs-blade .fxs-part,.fxs-bladestyle-help.fxs-blade .fxs-part{box-shadow:none;}.fxs-blade-locked.fxs-blade .fxs-part{padding:0;}.fxs-lens>.fxs-lens-drag-handle{position:absolute;z-index:52;top:-12px;left:-25px;bottom:12px;width:25px;background-color:#e9e9f3;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;}.fxs-part .fxs-part-title h3{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#8f9ca8;text-transform:uppercase;margin-top:3px;}.azc-grid{position:relative;}.azc-grid:focus{outline:none !important;}.azc-grid table{width:100%;border:0;background-color:transparent;table-layout:fixed;border-spacing:0;border-collapse:collapse;}.azc-grid .azc-grid-container{overflow-x:auto;overflow-y:visible;}.fxs-part .fxs-part-content{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;line-height:18px;color:#464f59;line-height:normal;position:relative;width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.azc-control table{border-collapse:collapse;table-layout:fixed;}.azc-grid table caption{display:none;}.azc-grid-headerHidden .azc-grid table thead{display:none;}.azc-grid table thead tr th.azc-grid-unsortablecolumnheader{cursor:default;}.azc-grid table th:first-child{padding-left:0;}.azc-grid table thead tr th{text-transform:uppercase;}.azc-grid table thead tr th>a{padding:1px 0 1px 10px;}.azc-grid table thead tr th a{line-height:38px;display:block;text-decoration:none;color:inherit;position:relative;}a{color:#00bcf2;text-decoration:none;}.azc-grid table thead tr th a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.azc-grid table thead tr th>a .azc-grid-headerlabel{display:block;}.azc-grid-activateableRow table tbody tr[data-grid-row-activated='true'][aria-selected='true']{background-color:#c6edfa !important;}.azc-grid-selectableRow table tbody tr[aria-selected='true'] td{color:inherit !important;}.azc-grid table tbody:last-child tr:last-child td{border-bottom:1px solid #dcdfe2;}.azc-grid table tbody tr td{color:#3d3d3d;height:33px;border-top:1px solid #dcdfe2;border-bottom:1px solid #dcdfe2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.azc-control svg{overflow:hidden;}.msportalfx-gridcolumn-asseticon img,.msportalfx-gridcolumn-asseticon svg{margin-top:4px;height:21px;width:21px;}.msportalfx-svg-c04{fill:#7a7a7a;}.msportalfx-svg-c20{fill:#68217a;}.msportalfx-svg-c01{fill:#fff;}.k-grid-content table tbody tr{padding:1px 0 1px 10px;}.k-grid td{padding:0 .6em;}body{background-color:#2e80ab;background-image:linear-gradient(to bottom,#2e80ab 0%,#61b7da 100%);background-repeat:no-repeat;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:small;-ms-scrollbar-arrow-color:#758393;-ms-scrollbar-face-color:#63707e;-ms-scrollbar-track-color:#dcdfe2;}a{color:#00bcf2;text-decoration:none;}img,a img,:link img,:visited img{border:0;}input.ng-invalid{border:1px solid #f00;}.collapsed{visibility:collapse;width:0;min-width:0;}
|
|
1
|
+
@charset "UTF-8";html,body{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;height:100%;width:0;}a{color:#00bcf2;text-decoration:none;}.ng-scope{height:100%;}.fxs-portal{overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;}.fxs-portal .fxs-portal-content{height:100%;color:#464f59;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-transition:margin .2s ease;-moz-transition:margin .2s ease;-o-transition:margin .2s ease;transition:margin .2s ease;}.fxs-portal .fxs-portal-content>*{white-space:normal;}.fxs-panorama{-ms-scroll-chaining:none;}.fxs-panorama-homearea{min-width:600px;}.fxs-panorama .fxs-panorama-homearea{position:relative;padding:0 25px;margin:0 15px 0 25px;}.fxs-panorama .fxs-panorama-homearea,.fxs-panorama .fxs-journey-target{display:inline-block;vertical-align:top;height:100%;}.fxs-panorama .fxs-panorama-homearea>header{margin:20px 0 4px;height:76px;min-width:450px;}.fxs-panorama .fxs-panorama-homearea .fxs-panorama-title{font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:40px;line-height:54px;color:#fff;padding-top:6px;margin:0;}.fxs-panorama .fxs-panorama-homearea .fxs-avatarmenu-target{position:absolute;top:18px;right:5px;max-width:220px;min-width:190px;}.fxs-avatarmenu{position:relative;padding:12px;text-align:right;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}.fxs-avatarmenu .fxs-avatarmenu-header{position:relative;font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;height:35px;color:#fff;}.fxs-avatarmenu>a{display:block;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-decoration:none;padding:10px;padding-right:54px;}.fxs-avatarmenu>a img{position:absolute;top:10px;right:10px;height:35px;width:32px;border:0;border-left:3px solid #7fba00;}.fxs-avatarmenu .fxs-avatarmenu-header .fxs-avatarmenu-username{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-size:14px;}.fxs-avatarmenu .fxs-avatarmenu-header .fxs-avatarmenu-emailaddress{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;text-transform:uppercase;opacity:.9;margin-top:4px;}.fxs-avatarmenu .fxs-avatarmenu-dropdown{display:none;width:100%;background-color:#32383f;border-top:1px solid #3c454f;text-align:left;}.fxs-avatarmenu .fxs-avatarmenu-dropdown ul{padding:0;margin:0;list-style-type:none;border-bottom:1px solid #3c454f;}.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-feedback,.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-switchportal,.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-signout{padding-right:35px;position:relative;}.fxs-avatarmenu .fxs-avatarmenu-dropdown ul li a{display:block;font-size:14px;padding:10px 18px 11px;line-height:18px;color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-avatarmenu .fxs-avatarmenu-dropdown .fxs-avatarmenu-list-system .fxs-avatarmenu-icon{width:15px;height:15px;display:inline-block;position:absolute;right:18px;margin-top:2px;}.fxs-panorama .fxs-panorama-homearea .fxs-startboard-target{height:-webkit-calc(100% - 100px);height:calc(100% - 100px);}.fxs-startboard .fxs-startboard-layout{height:100%;overflow-y:hidden;overflow-x:hidden;margin:0 -25px;padding:0 25px;}.fxs-stacklayout-child{height:100%;}.fxs-flowlayout>.fxs-flowlayout-childcontainer{position:relative;-webkit-transition:height .25s linear,width .25s linear 0s;-moz-transition:height .25s linear,width .25s linear 0s;-o-transition:height .25s linear,width .25s linear 0s;transition:height .25s linear,width .25s linear 0s;}.fxs-flowlayout>.fxs-flowlayout-childcontainer>.fxs-flowlayout-element{position:absolute;}.fxs-tilesize-herowide.fxs-tile{height:355px;width:535px;}.fxs-tilesize-normal.fxs-tile{height:175px;width:175px;}.fxs-tilesize-mini.fxs-tile{height:85px;width:85px;}.fxs-tile{height:175px;width:175px;-webkit-transition:height .125s linear .125s,width .125s linear 0s;-moz-transition:height .125s linear .125s,width .125s linear 0s;-o-transition:height .125s linear .125s,width .125s linear 0s;transition:height .125s linear .125s,width .125s linear 0s;background-color:#fff;position:relative;}.fxs-part{width:100%;height:100%;position:relative;box-shadow:inset 1px 0 #dcdfe2;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:15px 15px 15px 15px;box-shadow:inset 1px 0 #dcdfe2;}.fxs-part .fxs-part-title{position:relative;top:-4px;}.fxs-part .fxs-part-title h2{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:14px;line-height:17px;color:#32383f;}.fxs-part .fxs-part-title h3{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#8f9ca8;text-transform:uppercase;margin-top:3px;}.fxs-part .fxs-part-title h2,.fxs-part .fxs-part-title h3{margin:0;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-part .fxs-part-content{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;line-height:18px;color:#464f59;position:relative;width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.fxs-tile div.fxs-tile-overlay{display:none;position:absolute;width:100%;top:0;bottom:0;cursor:pointer;}.fxs-journey{height:100%;}.fxs-journey>.fxs-journey-layout{height:100%;}.fxs-journey>.fxs-journey-layout>.fxs-stacklayout-child{-webkit-transition:padding-top .2s ease,opacity .2s ease;transition:padding-top .2s ease,opacity .2s ease;}.fxs-stacklayout-horizontal.fxs-stacklayout{overflow:hidden;white-space:nowrap;height:100%;}.fxs-stacklayout-horizontal.fxs-stacklayout>.fxs-stacklayout-child{display:inline-block;vertical-align:top;overflow-y:auto;height:100%;white-space:normal;}.fxs-journey>.fxs-journey-layout>.fxs-stacklayout-child>.fxs-blade{box-shadow:-5px 0 0 rgba(31,35,39,.2),5px 0 0 rgba(31,35,39,.2);}.fxs-journey-layout :first-child.fxs-stacklayout-child .fxs-blade{border-left-color:transparent;border-left-width:0;}.fxs-blade-locked.fxs-blade{background-color:#fff;}.fxs-bladesize-small.fxs-blade{width:315px;}.fxs-blade{border-left-color:rgba(143,156,168,.8);width:585px;position:relative;height:100%;background-color:#f1f2f3;overflow:hidden;-webkit-transition:width .2s ease-out;-moz-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out;border-left-style:solid;border-left-width:2px;}.fxs-blade .fxs-blade-header{padding-bottom:8px;background-color:#3e4045;min-height:117px;}.fxs-blade .fxs-blade-statusbar-wrapper{background-color:#32383f;}.fxs-blade .fxs-blade-statusbar::after{content:" ";}.fxs-blade .fxs-blade-statusbar{-webkit-transition:all .5s,color .5s;-moz-transition:all .5s,color .5s;-o-transition:all .5s,color .5s;transition:all .5s,color .5s;}.fxs-blade .fxs-blade-statusbar,.fxs-blade .fxs-blade-loading-status{padding:5px 0 5px 25px;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#fff;text-transform:uppercase;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-actions{-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out;float:right;margin-right:22px;height:40px;}.fxs-blade .fxs-blade-header .fxs-blade-actions button{cursor:pointer;border:0;height:21px;width:21px;background-color:transparent;margin-top:4px;margin-left:6px;padding:0;opacity:.3;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;transition:opacity .2s ease-out;}.fxs-blade .fxs-blade-header .fxs-blade-actions button img,.fxs-blade .fxs-blade-header .fxs-blade-actions button svg{height:21px;width:21px;}.msportal-fx-svg-placeholder{fill:#fff;}.fxs-blade .fxs-blade-header .fxs-blade-actions button>svg *{fill:#8f9ca8;}.fxs-blade .fxs-blade-header .fxs-blade-actions button svg *{fill:#63707e;}.msportalfx-svg-c01{fill:#fff;}.fxs-blade .fxs-blade-header .fxs-blade-title{padding:0 25px 2px 7px;margin-left:18px;}.fxs-blade .fxs-blade-header .fxs-blade-title h2::after,.fxs-blade .fxs-blade-header .fxs-blade-title h3::after{content:" ";}.fxs-blade .fxs-blade-header .fxs-blade-title h2{margin:0;font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:20px;line-height:28px;color:#fff;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-title h3{margin:3px 0 2px 0;font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#758393;text-transform:uppercase;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;}.fxs-blade .fxs-blade-header .fxs-blade-commandBarContainer{margin:0 20px 0 15px;}.fxs-commandBar{display:none;}.fxs-commandBar-active.fxs-commandBar{display:block;}.fxs-commandBar>ul.fxs-commandBar-itemList{display:block;margin:4px 0 0;padding:0;list-style-type:none;overflow:hidden;height:48px;-webkit-transition:height .175s ease-in;-moz-transition:height .175s ease-in;-o-transition:height .175s ease-in;transition:height .175s ease-in;}.fxs-commandBar>ul.fxs-commandBar-itemList>li{border-right-color:#6c737a;float:left;margin-bottom:5px;border-right:1px solid transparent;}.fxs-commandBar .fxs-commandBar-form{display:block;position:absolute;z-index:200;width:100%;left:0;}.fxs-commandBar .fxs-commandBar-item{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#fff;text-transform:uppercase;display:block;position:relative;padding:3px 10px 0;width:90px;height:48px;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background-color .07s ease-in;transition:background-color .07s ease-in;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-text{height:22px;-webkit-transition:opacity .07s ease-in;transition:opacity .07s ease-in;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon{position:absolute;bottom:2px;}.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon>svg,.fxs-commandBar .fxs-commandBar-item .fxs-commandBar-item-icon>img{height:18px;width:18px;}.fxs-commandBar .fxs-commandBar-item-expandList.fxs-commandBar-item::after{content:"…";position:absolute;bottom:9px;left:40px;font-size:23px;line-height:23px;}.fxs-commandBar .fxs-commandBar-item:hover{background-color:#1f2327;}.fxs-blade .fxs-blade-content{padding:25px;overflow-x:hidden;overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-scrollbar-track-color:#d8d8ea;-ms-scrollbar-arrow-color:#758393;-ms-scrollbar-face-color:#63707e;}.fxs-bladesize-small.fxs-blade .fxs-blade-stacklayout{width:265px;}.fxs-blade .fxs-blade-content>div{height:100%;}.fxs-bladesize-medium.fxs-blade{width:585px;}.fxs-bladesize-medium.fxs-blade .fxs-blade-stacklayout{width:535px;}.fxs-blade .fxs-blade-stacklayout{width:535px;}.fxs-blade .fxs-blade-maximized-content{display:none;}.fxs-stacklayout-vertical.fxs-stacklayout>.fxs-stacklayout-child{display:block;}.fxs-lens{position:relative;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.fxs-lens .fxs-lens-title{color:#3d4045;}.fxs-lens>.fxs-lens-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;font-family:"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:14px;line-height:32px;color:#3d4045;}.fxs-lens>.fxs-lens-layout{height:100%;}:last-child.fxs-tilesize-herowidefitheight.fxs-tile,:last-child.fxs-tilesize-fullwidthfitheight.fxs-tile{margin-bottom:0;}.fxs-tilesize-herowidefitheight.fxs-tile,.fxs-tilesize-fullwidthfitheight.fxs-tile{margin-bottom:5px;}.fxs-tilesize-fullwidthfitheight.fxs-tile{height:100%;width:100%;}.fxs-blade-locked.fxs-blade .fxs-part,.fxs-bladestyle-context.fxs-blade .fxs-part,.fxs-bladestyle-contextaction.fxs-blade .fxs-part,.fxs-bladestyle-help.fxs-blade .fxs-part{box-shadow:none;}.fxs-blade-locked.fxs-blade .fxs-part{padding:0;}.fxs-lens>.fxs-lens-drag-handle{position:absolute;z-index:52;top:-12px;left:-25px;bottom:12px;width:25px;background-color:#e9e9f3;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;}.fxs-part .fxs-part-title h3{font-family:"Segoe UI Semibold","Segoe WP Semibold","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:10px;line-height:10px;color:#8f9ca8;text-transform:uppercase;margin-top:3px;}.azc-grid{position:relative;}.azc-grid:focus{outline:none !important;}.azc-grid table{width:100%;border:0;background-color:transparent;table-layout:fixed;border-spacing:0;border-collapse:collapse;}.azc-grid .azc-grid-container{overflow-x:auto;overflow-y:visible;}.fxs-part .fxs-part-content{font-family:"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;line-height:18px;color:#464f59;line-height:normal;position:relative;width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;}.azc-control table{border-collapse:collapse;table-layout:fixed;}.azc-grid table caption{display:none;}.azc-grid-headerHidden .azc-grid table thead{display:none;}.azc-grid table thead tr th.azc-grid-unsortablecolumnheader{cursor:default;}.azc-grid table th:first-child{padding-left:0;}.azc-grid table thead tr th{text-transform:uppercase;}.azc-grid table thead tr th>a{padding:1px 0 1px 10px;}.azc-grid table thead tr th a{line-height:38px;display:block;text-decoration:none;color:inherit;position:relative;}a{color:#00bcf2;text-decoration:none;}.azc-grid table thead tr th a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.azc-grid table thead tr th>a .azc-grid-headerlabel{display:block;}.azc-grid-activateableRow table tbody tr[data-grid-row-activated='true'][aria-selected='true']{background-color:#c6edfa !important;}.azc-grid-selectableRow table tbody tr[aria-selected='true'] td{color:inherit !important;}.azc-grid table tbody:last-child tr:last-child td{border-bottom:1px solid #dcdfe2;}.azc-grid table tbody tr td{color:#3d3d3d;height:33px;border-top:1px solid #dcdfe2;border-bottom:1px solid #dcdfe2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.azc-control svg{overflow:hidden;}.msportalfx-gridcolumn-asseticon img,.msportalfx-gridcolumn-asseticon svg{margin-top:4px;height:21px;width:21px;}.msportalfx-svg-c04{fill:#7a7a7a;}.msportalfx-svg-c20{fill:#68217a;}.msportalfx-svg-c01{fill:#fff;}.k-grid-content table tbody tr{padding:1px 0 1px 10px;}.k-grid td{padding:0 .6em;}body{background-color:#2e80ab;background-image:linear-gradient(to bottom,#2e80ab 0%,#61b7da 100%);background-repeat:no-repeat;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:400;font-size:small;-ms-scrollbar-arrow-color:#758393;-ms-scrollbar-face-color:#63707e;-ms-scrollbar-track-color:#dcdfe2;}a{color:#00bcf2;text-decoration:none;}img,a img,:link img,:visited img{border:0;}input.ng-invalid{border:1px solid #f00;}.collapsed{visibility:collapse;width:0;min-width:0;}
|
|
@@ -32,8 +32,10 @@ namespace angularportalazure {
|
|
|
32
32
|
AngularPortalBladeController.$inject = ['angularportalazure.portalService'];
|
|
33
33
|
function AngularPortalBladeController(portalService: angularportalazure.PortalService) {
|
|
34
34
|
this.$onInit = function () {
|
|
35
|
+
portalService.areaNotification.show();
|
|
35
36
|
this.close = function () {
|
|
36
|
-
portalService.bladeArea.clearLastLevel();
|
|
37
|
+
//portalService.bladeArea.clearLastLevel();
|
|
38
|
+
portalService.areaNotification.hide();
|
|
37
39
|
};
|
|
38
40
|
};
|
|
39
41
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
<div class="fxs-portal">
|
|
1
|
+
<div id="apa-portal" class="fxs-portal">
|
|
2
2
|
<div class="fxs-portal-top-bar fxs-portal-appbar"></div>
|
|
3
|
-
<div id="
|
|
3
|
+
<div id="apa-portal-scroll" class="fxs-portal-content fxs-panorama">
|
|
4
4
|
<div class="fxs-panorama-homearea" ng-class="{collapsed: !$ctrl.vm.portalService.panorama.startboard.tiles.showTiles}" ng-show="$ctrl.vm.portalService.panorama.isVisible">
|
|
5
5
|
<header class="fxs-pannable" ng-class="{collapsed: !$ctrl.vm.portalService.panorama.startboard.tiles.showTiles}">
|
|
6
|
-
<h1 class="fxs-panorama-title fxs-pannable">{{$ctrl.vm.title}}</h1>
|
|
6
|
+
<h1 class="fxs-panorama-title fxs-pannable">{{$ctrl.vm.portalService.panorama.title}}</h1>
|
|
7
7
|
<div class="fxs-avatarmenu-target fxs-avatarmenu" ng-class="{collapsed: !$ctrl.vm.portalService.panorama.startboard.tiles.showTiles}">
|
|
8
8
|
<a class="fxs-avatarmenu-header" href="/Account/Manage">
|
|
9
9
|
<img alt="" src="/node_modules/@ardimedia/angular-portal-azure/images/avatar.jpg" />
|
|
10
|
-
<div class="fxs-avatarmenu-username">{{$ctrl.vm.
|
|
11
|
-
<div class="fxs-avatarmenu-emailaddresse">{{$ctrl.vm.
|
|
10
|
+
<div class="fxs-avatarmenu-username">{{$ctrl.vm.portalService.panorama.avatarMenu.userAccount.name}}</div>
|
|
11
|
+
<div class="fxs-avatarmenu-emailaddresse">{{$ctrl.vm.portalService.panorama.avatarMenu.userAccount.userName}}</div>
|
|
12
12
|
</a>
|
|
13
13
|
</div>
|
|
14
14
|
</header>
|
|
15
15
|
<div class="fxs-startboard-target fxs-startboard fx-rightClick" ng-class="{collapsed: !$ctrl.vm.portalService.panorama.startboard.tiles.showTiles}">
|
|
16
16
|
<div class="fxs-startboard-layout fxs-flowlayout">
|
|
17
17
|
<div class="fxs-flowlayout-childcontainer">
|
|
18
|
-
<section data-ng-repeat="tile in $ctrl.vm.tiles track by $index" class="fxs-tile fx-rightClick fxs-flowlayout-element" data-ng-class="{'fxs-tilesize-normal':tile.size=='normal', 'fxs-tilesize-mini':tile.size=='mini', 'fxs-tilesize-herowide':tile.size=='herowide'}" data-ng-style="{'left': tile.left, 'top': tile.top}">
|
|
19
|
-
<div class="fxs-part fxs-part-clickable" ng-click="
|
|
18
|
+
<section data-ng-repeat="tile in $ctrl.vm.portalService.panorama.startboard.tiles.tiles track by $index" class="fxs-tile fx-rightClick fxs-flowlayout-element" data-ng-class="{'fxs-tilesize-normal':tile.size=='normal', 'fxs-tilesize-mini':tile.size=='mini', 'fxs-tilesize-herowide':tile.size=='herowide'}" data-ng-style="{'left': tile.left, 'top': tile.top}">
|
|
19
|
+
<div class="fxs-part fxs-part-clickable" ng-click="tile.clicked();" style="cursor:pointer;">
|
|
20
20
|
<header class="fxs-part-title">
|
|
21
21
|
<h2 class="msportalfx-tooltip-overflow">{{tile.title}}</h2>
|
|
22
22
|
<h3 class="msportalfx-tooltip-overflow">{{tile.subTitle}}</h3>
|
|
@@ -29,10 +29,13 @@
|
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
32
|
-
<div class="fxs-journey-target fxs-journey">
|
|
32
|
+
<div id="apa-blade-area" class="fxs-journey-target fxs-journey">
|
|
33
33
|
<div class="fxs-journey-layout fxs-stacklayout fxs-stacklayout-horizontal">
|
|
34
|
-
<div data-ng-repeat="blade in $ctrl.vm.blades track by $index" class="azureportalblade fxs-stacklayout-child" ng-include="blade.path"></div>
|
|
34
|
+
<div data-ng-repeat="blade in $ctrl.vm.portalService.bladeArea.blades track by $index" class="azureportalblade fxs-stacklayout-child" ng-include="blade.path"></div>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
|
+
<div id="apa-notification-area" style="display: none;">
|
|
38
|
+
asdf
|
|
39
|
+
</div>
|
|
37
40
|
</div>
|
|
38
41
|
</div>
|
package/directives/home/home.ts
CHANGED
|
@@ -13,9 +13,18 @@
|
|
|
13
13
|
|
|
14
14
|
//angular.module('angularportalazure').directive('angularPortalHome', angularPortalHome);
|
|
15
15
|
|
|
16
|
+
AngularPortalHomeController.$inject = ['$scope', 'angularportalazure.portalService'];
|
|
17
|
+
function AngularPortalHomeController($scope: angular.IScope, portalService: angularportalazure.PortalService) {
|
|
18
|
+
this.$onInit = function () {
|
|
19
|
+
console.log('initializse');
|
|
20
|
+
portalService.areaNotification = new angularportalazure.AreaNotification($scope, portalService);
|
|
21
|
+
portalService.bladeArea = new angularportalazure.BladeArea($scope, portalService);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
16
25
|
var angularPortalHome = {
|
|
17
26
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/home/home.html',
|
|
18
|
-
controller:
|
|
27
|
+
controller: AngularPortalHomeController,
|
|
19
28
|
bindings: {
|
|
20
29
|
vm: '='
|
|
21
30
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@ardimedia/angular-portal-azure",
|
|
3
3
|
"description": "Angular Portal Azure - GUI Framework.",
|
|
4
4
|
"author": "Ardimedia Anstalt <info@ardimedia.com> (http://www.ardimedia.com)",
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.141",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"typings": "apn.d.ts",
|
|
8
8
|
"dependencies": {
|