@ardimedia/angular-portal-azure 0.2.85 → 0.2.86
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.js +1 -68
- package/directives/blade/angular-portal-blade-grid.ts +0 -1
- package/directives/blade/angular-portal-blade-nav.ts +0 -1
- package/directives/blade/angular-portal-blade.ts +0 -5
- package/directives/dirtyflag/dirtyflag.ts +0 -45
- package/directives/grid/grid.html +1 -1
- package/directives/grid/grid.ts +0 -6
- package/directives/home/home.html +10 -10
- package/directives/nav/nav.html +3 -3
- package/directives/nav/nav.ts +1 -1
- package/package.json +1 -1
package/apn.js
CHANGED
|
@@ -944,7 +944,6 @@ var angularportalazure;
|
|
|
944
944
|
controller: function () {
|
|
945
945
|
this.$onInit = function () {
|
|
946
946
|
this.close = function () {
|
|
947
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
948
947
|
portalService.bladeArea.clearLastLevel();
|
|
949
948
|
};
|
|
950
949
|
};
|
|
@@ -971,7 +970,6 @@ var angularportalazure;
|
|
|
971
970
|
controller: function () {
|
|
972
971
|
this.$onInit = function () {
|
|
973
972
|
this.close = function () {
|
|
974
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
975
973
|
portalService.bladeArea.clearLastLevel();
|
|
976
974
|
};
|
|
977
975
|
};
|
|
@@ -996,16 +994,11 @@ var angularportalazure;
|
|
|
996
994
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/blade/blade.html',
|
|
997
995
|
link: function (scope, element, attrs, controller) {
|
|
998
996
|
controller.close = function () {
|
|
999
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [controller, portalService]);
|
|
1000
997
|
portalService.bladeArea.clearLastLevel();
|
|
1001
998
|
};
|
|
1002
999
|
},
|
|
1003
1000
|
controller: function () {
|
|
1004
1001
|
this.$onInit = function () {
|
|
1005
|
-
//this.vm.close = function () {
|
|
1006
|
-
// angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
1007
|
-
// portalService.bladeArea.clearLastLevel();
|
|
1008
|
-
//};
|
|
1009
1002
|
};
|
|
1010
1003
|
},
|
|
1011
1004
|
controllerAs: '$ctrl'
|
|
@@ -1014,42 +1007,6 @@ var angularportalazure;
|
|
|
1014
1007
|
angular.module('angularportalazure').directive('angularPortalBlade', angularPortalBlade);
|
|
1015
1008
|
})(angularportalazure || (angularportalazure = {}));
|
|
1016
1009
|
// http://blogs.msdn.com/b/laurieatkinson/archive/2014/08/23/implementing-a-save-warning-in-an-angular-spa.aspx
|
|
1017
|
-
//'use strict';
|
|
1018
|
-
//module App.Directives {
|
|
1019
|
-
// // USE:
|
|
1020
|
-
// // <form name="personForm" azureportal-dirty-flag>
|
|
1021
|
-
// interface IDirtyFlag extends ng.IDirective {
|
|
1022
|
-
// }
|
|
1023
|
-
// interface IDirtyFlagScope extends ng.IScope {
|
|
1024
|
-
// personForm: ng.IFormController;
|
|
1025
|
-
// vm: any;
|
|
1026
|
-
// }
|
|
1027
|
-
// class DirtyFlag implements IDirtyFlag {
|
|
1028
|
-
// static directiveId: string = 'azureportalDirtyFlag'
|
|
1029
|
-
// restrict: string = 'A';
|
|
1030
|
-
// personManager: App.Services.IpersonManager;
|
|
1031
|
-
// constructor(personManager) {
|
|
1032
|
-
// this.personManager = personManager;
|
|
1033
|
-
// }
|
|
1034
|
-
// link = (scope: IDirtyFlagScope, element, attrs) => {
|
|
1035
|
-
// var self = this;
|
|
1036
|
-
// // When the directive is first invoked, check if the stored dirty value is true and
|
|
1037
|
-
// // if so set the $dirty flag on the form.
|
|
1038
|
-
// if (scope.vm.person && scope.vm.person.isDirty) {
|
|
1039
|
-
// scope.personForm.$dirty = true;
|
|
1040
|
-
// }
|
|
1041
|
-
// // When the user navigates away from this view, check the value of the $dirty flag on this form.
|
|
1042
|
-
// // If it is dirty(indicating unsaved changes), then store the id of the current person as dirty
|
|
1043
|
-
// // using a service named personManger.
|
|
1044
|
-
// scope.$on('$locationChangeStart'), function () {
|
|
1045
|
-
// if (scope.personForm.$dirty) {
|
|
1046
|
-
// self.personManager.markpersonAsDirty(scope.vm.person.personId);
|
|
1047
|
-
// }
|
|
1048
|
-
// });
|
|
1049
|
-
// }
|
|
1050
|
-
// }
|
|
1051
|
-
// app.directive(DirtyFlag.directiveId, ['personmanager', (pm) => new DirtyFlag(pm)]);
|
|
1052
|
-
//}
|
|
1053
1010
|
var angularportalazure;
|
|
1054
1011
|
(function (angularportalazure) {
|
|
1055
1012
|
function grid($window) {
|
|
@@ -1059,12 +1016,6 @@ var angularportalazure;
|
|
|
1059
1016
|
bindToController: { vm: '=' },
|
|
1060
1017
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/grid/grid.html',
|
|
1061
1018
|
link: function (scope, element, attrs, controller) {
|
|
1062
|
-
//angular.forEach(controller.vm.items, function (item) {
|
|
1063
|
-
// // Set some default values, depending on existing values
|
|
1064
|
-
// if (item.isVisible == undefined) { item.isVisible = true; }
|
|
1065
|
-
// if (item.title == undefined || item.title == '') { item.style = { cursor: 'default' }; }
|
|
1066
|
-
// if (item.bladePath == undefined || item.bladePath == '') { item.style = { cursor: 'default' }; }
|
|
1067
|
-
//});
|
|
1068
1019
|
},
|
|
1069
1020
|
controller: function () { },
|
|
1070
1021
|
controllerAs: '$ctrl'
|
|
@@ -1097,7 +1048,7 @@ var angularportalazure;
|
|
|
1097
1048
|
bindToController: { vm: '=' },
|
|
1098
1049
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/nav/nav.html',
|
|
1099
1050
|
link: function (scope, element, attrs, controller) {
|
|
1100
|
-
angular.forEach(controller.
|
|
1051
|
+
angular.forEach(controller.items, function (item) {
|
|
1101
1052
|
// Set some default values, depending on existing values
|
|
1102
1053
|
if (item.isVisible == undefined) {
|
|
1103
1054
|
item.isVisible = true;
|
|
@@ -1116,24 +1067,8 @@ var angularportalazure;
|
|
|
1116
1067
|
}
|
|
1117
1068
|
angular.module('angularportalazure').directive('nav', ['$window', nav]);
|
|
1118
1069
|
})(angularportalazure || (angularportalazure = {}));
|
|
1119
|
-
//namespace angularportalazure {
|
|
1120
|
-
// /** If a Web API throws an exception, the following interface should be used to communicate the execption. */
|
|
1121
|
-
// export interface IException {
|
|
1122
|
-
// ExceptionType: string; // provided by the server
|
|
1123
|
-
// ClassName: string; // provided by the server - .NET exception class name
|
|
1124
|
-
// Data: Object; // provided by the server - object having trouble
|
|
1125
|
-
// Type: string; // provided by the server
|
|
1126
|
-
// Messages?: string[]; // provided by the server
|
|
1127
|
-
// Message: string; // provided by Web API or filled by the client if empty - .NET exception messages or user defined
|
|
1128
|
-
// MessageDetail: string; // Filled by the client - .NET exception detail message
|
|
1129
|
-
// Status: number; // Filled by the client - http error code
|
|
1130
|
-
// StatusText: string; // Filled by the client - http message
|
|
1131
|
-
// Url: string; // Filled by the client - http URL
|
|
1132
|
-
// }
|
|
1133
|
-
//}
|
|
1134
1070
|
/// <reference path="bladearea.ts" />
|
|
1135
1071
|
/// <reference path="debug.ts" />
|
|
1136
|
-
/// <reference path="iexception.ts" />
|
|
1137
1072
|
/// <reference path="portalservice.ts" />
|
|
1138
1073
|
var angularportalazure;
|
|
1139
1074
|
(function (angularportalazure) {
|
|
@@ -1464,7 +1399,6 @@ var angularportalazure;
|
|
|
1464
1399
|
angularportalazure.BladeNav = BladeNav;
|
|
1465
1400
|
})(angularportalazure || (angularportalazure = {}));
|
|
1466
1401
|
/// <reference path="debug.ts" />
|
|
1467
|
-
/// <reference path="iexception.ts" />
|
|
1468
1402
|
var angularportalazure;
|
|
1469
1403
|
(function (angularportalazure) {
|
|
1470
1404
|
var Exception = (function () {
|
|
@@ -1518,7 +1452,6 @@ var angularportalazure;
|
|
|
1518
1452
|
angularportalazure.Exception = Exception;
|
|
1519
1453
|
})(angularportalazure || (angularportalazure = {}));
|
|
1520
1454
|
/// <reference path="debug.ts" />
|
|
1521
|
-
/// <reference path="iexception.ts" />
|
|
1522
1455
|
var angularportalazure;
|
|
1523
1456
|
(function (angularportalazure) {
|
|
1524
1457
|
var IExceptionDotNet = (function () {
|
|
@@ -15,7 +15,6 @@ namespace angularportalazure {
|
|
|
15
15
|
controller: function () {
|
|
16
16
|
this.$onInit = function () {
|
|
17
17
|
this.close = function () {
|
|
18
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
19
18
|
portalService.bladeArea.clearLastLevel();
|
|
20
19
|
};
|
|
21
20
|
};
|
|
@@ -15,7 +15,6 @@ namespace angularportalazure {
|
|
|
15
15
|
controller: function () {
|
|
16
16
|
this.$onInit = function () {
|
|
17
17
|
this.close = function () {
|
|
18
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
19
18
|
portalService.bladeArea.clearLastLevel();
|
|
20
19
|
};
|
|
21
20
|
};
|
|
@@ -13,16 +13,11 @@ namespace angularportalazure {
|
|
|
13
13
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/blade/blade.html',
|
|
14
14
|
link: function (scope, element, attrs, controller) {
|
|
15
15
|
controller.close = function () {
|
|
16
|
-
angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [controller, portalService]);
|
|
17
16
|
portalService.bladeArea.clearLastLevel();
|
|
18
17
|
};
|
|
19
18
|
},
|
|
20
19
|
controller: function () {
|
|
21
20
|
this.$onInit = function () {
|
|
22
|
-
//this.vm.close = function () {
|
|
23
|
-
// angularportalazure.Debug.write('[angularportalazure-debug] \'directive:azurePortalBlade.close\' called.', [this, portalService]);
|
|
24
|
-
// portalService.bladeArea.clearLastLevel();
|
|
25
|
-
//};
|
|
26
21
|
};
|
|
27
22
|
},
|
|
28
23
|
controllerAs: '$ctrl'
|
|
@@ -1,47 +1,2 @@
|
|
|
1
1
|
|
|
2
2
|
// http://blogs.msdn.com/b/laurieatkinson/archive/2014/08/23/implementing-a-save-warning-in-an-angular-spa.aspx
|
|
3
|
-
|
|
4
|
-
//'use strict';
|
|
5
|
-
//module App.Directives {
|
|
6
|
-
|
|
7
|
-
// // USE:
|
|
8
|
-
// // <form name="personForm" azureportal-dirty-flag>
|
|
9
|
-
|
|
10
|
-
// interface IDirtyFlag extends ng.IDirective {
|
|
11
|
-
// }
|
|
12
|
-
|
|
13
|
-
// interface IDirtyFlagScope extends ng.IScope {
|
|
14
|
-
// personForm: ng.IFormController;
|
|
15
|
-
// vm: any;
|
|
16
|
-
// }
|
|
17
|
-
|
|
18
|
-
// class DirtyFlag implements IDirtyFlag {
|
|
19
|
-
// static directiveId: string = 'azureportalDirtyFlag'
|
|
20
|
-
// restrict: string = 'A';
|
|
21
|
-
// personManager: App.Services.IpersonManager;
|
|
22
|
-
|
|
23
|
-
// constructor(personManager) {
|
|
24
|
-
// this.personManager = personManager;
|
|
25
|
-
// }
|
|
26
|
-
|
|
27
|
-
// link = (scope: IDirtyFlagScope, element, attrs) => {
|
|
28
|
-
// var self = this;
|
|
29
|
-
// // When the directive is first invoked, check if the stored dirty value is true and
|
|
30
|
-
// // if so set the $dirty flag on the form.
|
|
31
|
-
// if (scope.vm.person && scope.vm.person.isDirty) {
|
|
32
|
-
// scope.personForm.$dirty = true;
|
|
33
|
-
// }
|
|
34
|
-
|
|
35
|
-
// // When the user navigates away from this view, check the value of the $dirty flag on this form.
|
|
36
|
-
// // If it is dirty(indicating unsaved changes), then store the id of the current person as dirty
|
|
37
|
-
// // using a service named personManger.
|
|
38
|
-
// scope.$on('$locationChangeStart'), function () {
|
|
39
|
-
// if (scope.personForm.$dirty) {
|
|
40
|
-
// self.personManager.markpersonAsDirty(scope.vm.person.personId);
|
|
41
|
-
// }
|
|
42
|
-
// });
|
|
43
|
-
// }
|
|
44
|
-
// }
|
|
45
|
-
|
|
46
|
-
// app.directive(DirtyFlag.directiveId, ['personmanager', (pm) => new DirtyFlag(pm)]);
|
|
47
|
-
//}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<col class="col1">
|
|
6
6
|
</colgroup>
|
|
7
7
|
<tbody class="azc-grid-groupdata" role="rowgroup">
|
|
8
|
-
<tr data-ng-repeat="item in $ctrl.
|
|
8
|
+
<tr data-ng-repeat="item in $ctrl.items track by $index" data-ng-click="$ctrl.navigateTo(item.bladePath);" role="row" aria-selected="false" data-grid-row-activated="false" data-grid-selectable="true" data-grid-focusable="true" data-grid-activateable="true" ng-show="item.isVisible" style="cursor:pointer" ng-style="item.style">
|
|
9
9
|
<td class="msportalfx-gridcolumn-asseticon" role="gridcell" data-grid-cell-activated="false">
|
|
10
10
|
<div class="azc-vivaControl" data-bind='vivaControl: "DEB28B4C-518F-4F70-A817-BF9277606CAB"'>
|
|
11
11
|
<div data-bind="image: value">
|
package/directives/grid/grid.ts
CHANGED
|
@@ -6,12 +6,6 @@
|
|
|
6
6
|
bindToController: { vm: '=' },
|
|
7
7
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/grid/grid.html',
|
|
8
8
|
link: function (scope, element, attrs, controller) {
|
|
9
|
-
//angular.forEach(controller.vm.items, function (item) {
|
|
10
|
-
// // Set some default values, depending on existing values
|
|
11
|
-
// if (item.isVisible == undefined) { item.isVisible = true; }
|
|
12
|
-
// if (item.title == undefined || item.title == '') { item.style = { cursor: 'default' }; }
|
|
13
|
-
// if (item.bladePath == undefined || item.bladePath == '') { item.style = { cursor: 'default' }; }
|
|
14
|
-
//});
|
|
15
9
|
},
|
|
16
10
|
controller: function () { },
|
|
17
11
|
controllerAs: '$ctrl'
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
<div class="fxs-portal-top-bar fxs-portal-appbar"></div>
|
|
3
3
|
<div id="azureportalscroll" class="fxs-portal-content fxs-panorama">
|
|
4
4
|
|
|
5
|
-
<div class="fxs-panorama-homearea" ng-class="{collapsed: !$ctrl.
|
|
6
|
-
<header class="fxs-pannable" ng-class="{collapsed: !$ctrl.
|
|
7
|
-
<h1 class="fxs-panorama-title fxs-pannable">{{$ctrl.
|
|
8
|
-
<div class="fxs-avatarmenu-target fxs-avatarmenu" ng-class="{collapsed: !$ctrl.
|
|
5
|
+
<div class="fxs-panorama-homearea" ng-class="{collapsed: !$ctrl.portalService.panorama.startboard.tiles.showTiles}" ng-show="$ctrl.portalService.panorama.isVisible">
|
|
6
|
+
<header class="fxs-pannable" ng-class="{collapsed: !$ctrl.portalService.panorama.startboard.tiles.showTiles}">
|
|
7
|
+
<h1 class="fxs-panorama-title fxs-pannable">{{$ctrl.title}}</h1>
|
|
8
|
+
<div class="fxs-avatarmenu-target fxs-avatarmenu" ng-class="{collapsed: !$ctrl.portalService.panorama.startboard.tiles.showTiles}">
|
|
9
9
|
<a class="fxs-avatarmenu-header" href="/Account/Manage">
|
|
10
10
|
<img alt="" src="/node_modules/@ardimedia/angular-portal-azure/images/avatar.jpg" />
|
|
11
|
-
<div class="fxs-avatarmenu-username">{{$ctrl.
|
|
12
|
-
<div class="fxs-avatarmenu-emailaddresse">{{$ctrl.
|
|
11
|
+
<div class="fxs-avatarmenu-username">{{$ctrl.user.name}}</div>
|
|
12
|
+
<div class="fxs-avatarmenu-emailaddresse">{{$ctrl.user.emailaddress}}</div>
|
|
13
13
|
</a>
|
|
14
14
|
</div>
|
|
15
15
|
</header>
|
|
16
|
-
<div class="fxs-startboard-target fxs-startboard fx-rightClick" ng-class="{collapsed: !$ctrl.
|
|
16
|
+
<div class="fxs-startboard-target fxs-startboard fx-rightClick" ng-class="{collapsed: !$ctrl.portalService.panorama.startboard.tiles.showTiles}">
|
|
17
17
|
<div class="fxs-startboard-layout fxs-flowlayout">
|
|
18
18
|
<div class="fxs-flowlayout-childcontainer">
|
|
19
|
-
<section data-ng-repeat="tile in $ctrl.
|
|
20
|
-
<div class="fxs-part fxs-part-clickable" ng-click="$ctrl.
|
|
19
|
+
<section data-ng-repeat="tile in $ctrl.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}">
|
|
20
|
+
<div class="fxs-part fxs-part-clickable" ng-click="$ctrl.navigateTo(tile.bladePath);tile.clicked();" style="cursor:pointer;">
|
|
21
21
|
<header class="fxs-part-title">
|
|
22
22
|
<h2 class="msportalfx-tooltip-overflow">{{tile.title}}</h2>
|
|
23
23
|
<h3 class="msportalfx-tooltip-overflow">{{tile.subTitle}}</h3>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
<div class="fxs-journey-target fxs-journey">
|
|
34
34
|
<div class="fxs-journey-layout fxs-stacklayout fxs-stacklayout-horizontal">
|
|
35
|
-
<div data-ng-repeat="blade in $ctrl.
|
|
35
|
+
<div data-ng-repeat="blade in $ctrl.blades track by $index" class="azureportalblade fxs-stacklayout-child" ng-include="blade.path"></div>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
package/directives/nav/nav.html
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<div>
|
|
2
|
-
<table class="azc-grid-full azc-grid-multiselectable" ng-if="!$ctrl.
|
|
2
|
+
<table class="azc-grid-full azc-grid-multiselectable" ng-if="!$ctrl.blade.isInnerHtml">
|
|
3
3
|
<caption data-bind="text: data.summary"></caption>
|
|
4
4
|
<colgroup>
|
|
5
5
|
<col class="col0" style="width: 20px;">
|
|
6
6
|
<col class="col1">
|
|
7
7
|
</colgroup>
|
|
8
8
|
<tbody class="azc-grid-groupdata" role="rowgroup">
|
|
9
|
-
<tr data-ng-repeat="item in $ctrl.
|
|
9
|
+
<tr data-ng-repeat="item in $ctrl.items track by $index" data-ng-click="$ctrl.navigateTo(item.bladePath);item.onNavItemClick();" role="row" aria-selected="false" data-grid-row-activated="false" data-grid-selectable="true" data-grid-focusable="true" data-grid-activateable="true" ng-show="item.isVisible" style="cursor:pointer" ng-style="item.style">
|
|
10
10
|
<td class="msportalfx-gridcolumn-asseticon" role="gridcell" data-grid-cell-activated="false">
|
|
11
11
|
<i ng-class="item.cssClass"></i>
|
|
12
12
|
</td>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
</tr>
|
|
17
17
|
</tbody>
|
|
18
18
|
</table>
|
|
19
|
-
<div ng-if="$ctrl.
|
|
19
|
+
<div ng-if="$ctrl.blade.isInnerHtml">
|
|
20
20
|
<div ng-transclude></div>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
package/directives/nav/nav.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
bindToController: { vm: '=' },
|
|
8
8
|
templateUrl: '/node_modules/@ardimedia/angular-portal-azure/directives/nav/nav.html',
|
|
9
9
|
link: function (scope, element, attrs, controller) {
|
|
10
|
-
angular.forEach(controller.
|
|
10
|
+
angular.forEach(controller.items, function (item) {
|
|
11
11
|
// Set some default values, depending on existing values
|
|
12
12
|
if (item.isVisible == undefined) { item.isVisible = true; }
|
|
13
13
|
if (item.title == undefined || item.title == '') { item.style = { cursor: 'default' }; }
|
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.86",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"typings": "apn.d.ts",
|
|
8
8
|
"dependencies": {
|