You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/03/27 23:21:28 UTC
[34/50] [abbrv] adding help framework adding google analytics
framework bug fixes
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/libs/usergrid.sdk.js
----------------------------------------------------------------------
diff --git a/portal/js/libs/usergrid.sdk.js b/portal/js/libs/usergrid.sdk.js
index 78354b1..b9f7d91 100755
--- a/portal/js/libs/usergrid.sdk.js
+++ b/portal/js/libs/usergrid.sdk.js
@@ -98,9 +98,9 @@ Usergrid.Client.prototype.request = function (options, callback) {
if (self.getToken()) {
qs.access_token = self.getToken();
}
- var developerkey=this.get("developerkey");
+ var developerkey=self.get("developerkey");
if (developerkey) {
- qs.developer_key = developerkey;
+ qs.key = developerkey;
}
//append params to the path
var encoded_params = encodeParams(qs);
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/login/login-controller.js
----------------------------------------------------------------------
diff --git a/portal/js/login/login-controller.js b/portal/js/login/login-controller.js
index b253d77..3d0e515 100755
--- a/portal/js/login/login-controller.js
+++ b/portal/js/login/login-controller.js
@@ -6,6 +6,9 @@ AppServices.Controllers.controller('LoginCtrl', ['ug', '$scope', '$rootScope', '
$scope.login = {};
$scope.activation = {};
$scope.requiresDeveloperKey=$scope.options.client.requiresDeveloperKey||false;
+ if(!$scope.requiresDeveloperKey && $scope.options.client.apiKey){
+ ug.setClientProperty('developerkey', $scope.options.client.apiKey);
+ }
$rootScope.gotoForgotPasswordPage = function(){
$location.path("/forgot-password");
};
@@ -20,6 +23,9 @@ AppServices.Controllers.controller('LoginCtrl', ['ug', '$scope', '$rootScope', '
var password = $scope.login.password;
$scope.loginMessage = "";
$scope.loading = true;
+ if($scope.requiresDeveloperKey){
+ ug.setClientProperty('developerkey', $scope.login.developerkey);
+ }
ug.orgLogin(username, password);
@@ -27,6 +33,7 @@ AppServices.Controllers.controller('LoginCtrl', ['ug', '$scope', '$rootScope', '
$scope.$on('loginFailed',function(){
$scope.loading = false;
//let the user know the login was not valid
+ ug.setClientProperty('developerkey', null);
$scope.loginMessage = "Error: the username / password combination was not valid";
$scope.applyScope();
});
@@ -53,9 +60,6 @@ AppServices.Controllers.controller('LoginCtrl', ['ug', '$scope', '$rootScope', '
$scope.$on('loginSuccesful', function(event, user, organizations, applications) {
$scope.loading = false;
- if($scope.requiresDeveloperKey){
- ug.setClientProperty('developerkey', $scope.login.developerkey);
- }
$scope.login = {};
//if on login page, send to org overview page. if on a different page, let them stay there
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/login/login.html
----------------------------------------------------------------------
diff --git a/portal/js/login/login.html b/portal/js/login/login.html
index d0286b1..7b0055a 100755
--- a/portal/js/login/login.html
+++ b/portal/js/login/login.html
@@ -13,7 +13,7 @@
<div class="login-holder">
<form name="loginForm" id="login-form" ng-submit="login()" class="form-horizontal" novalidate>
<h1 class="title">Enter your credentials</h1>
- <div class="alert-error" ng-if="loginMessage">{{loginMessage}}</div>
+ <div class="alert-error" id="loginError" ng-if="loginMessage">{{loginMessage}}</div>
<div class="control-group">
<label class="control-label" for="login-username">Email or Username:</label>
<div class="controls">
@@ -51,4 +51,5 @@
<a ng-click="showModal('sendActivationLink')" name="button-resend-activation" id="button-resend-activation"
value="" class="btn btn-primary pull-left">Resend Activation Link</a>
</div>
+ <div id="gtm" style="width: 450px;margin-top: 4em;" />
</div>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/org-overview/org-overview-controller.js
----------------------------------------------------------------------
diff --git a/portal/js/org-overview/org-overview-controller.js b/portal/js/org-overview/org-overview-controller.js
index 47fa8ea..75b8ffb 100644
--- a/portal/js/org-overview/org-overview-controller.js
+++ b/portal/js/org-overview/org-overview-controller.js
@@ -1,6 +1,6 @@
'use strict'
-AppServices.Controllers.controller('OrgOverviewCtrl', ['ug', '$scope','$rootScope', '$routeParams', '$location', function (ug, $scope, $rootScope, $routeParams, $location) {
+AppServices.Controllers.controller('OrgOverviewCtrl', ['ug', 'help', '$scope','$rootScope', '$routeParams', '$location', function (ug, help, $scope, $rootScope, $routeParams, $location) {
var init = function(oldOrg){
//deal with double firing initialization logic
@@ -83,4 +83,4 @@ AppServices.Controllers.controller('OrgOverviewCtrl', ['ug', '$scope','$rootScop
init();
}
-}]);
+}]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/org-overview/org-overview.html
----------------------------------------------------------------------
diff --git a/portal/js/org-overview/org-overview.html b/portal/js/org-overview/org-overview.html
index 5e4891d..2f6e1b1 100644
--- a/portal/js/org-overview/org-overview.html
+++ b/portal/js/org-overview/org-overview.html
@@ -5,14 +5,24 @@
<section class="row-fluid">
<div class="span6">
-
- <h2 class="title">Current Organization </h2>
- <table class="table table-striped">
- <tr>
- <td id="org-overview-name">{{currentOrganization.name}}</td>
- <td style="text-align: right">{{currentOrganization.uuid}}</td>
- </tr>
- </table>
+ <bsmodal id="introjs"
+ title="Welcome to the API BaaS Admin Portal"
+ close="hideModal"
+ closelabel="Skip"
+ extrabutton="startFirstTimeUser"
+ extrabuttonlabel="Take the tour"
+ ng-cloak>
+ <p>To get started, click 'Take the tour' for a full walkthrough of the admin portal, or click 'Skip' to start working right away.</p>
+ </bsmodal>
+ <div id="intro-4-current-org">
+ <h2 class="title">Current Organization <a class="help_tooltip" ng-mouseover="help.sendTooltipGA('current org')" ng-show="help.helpTooltipsEnabled" href="#" ng-attr-tooltip="{{tooltip_current_org}}" tooltip-placement="right">(?)</a></h2>
+ <table class="table table-striped">
+ <tr>
+ <td id="org-overview-name">{{currentOrganization.name}}</td>
+ <td style="text-align: right">{{currentOrganization.uuid}}</td>
+ </tr>
+ </table>
+ </div>
<bsmodal id="newApplication"
title="Create New Application"
@@ -23,22 +33,22 @@
ng-cloak>
<p>New application name: <input ng-model="$parent.newApp.name" ug-validate required type="text" ng-pattern="appNameRegex" ng-attr-title="{{appNameRegexDescription}}" /></p>
</bsmodal>
-
- <h2 class="title" > Applications
- <div class="header-button btn-group pull-right">
- <a class="btn filter-selector" style="{{applicationsSize === 10 ? 'width:290px':''}}" ng-click="showModal('newApplication')">
- <span class="filter-label">Add New App</span>
- </a>
- </div>
- </h2>
-
- <table class="table table-striped">
- <tr ng-repeat="application in applications">
- <td>{{application.name}}</td>
- <td style="text-align: right">{{application.uuid}}</td>
- </tr>
- </table>
-
+ <div id="intro-5-applications">
+ <h2 class="title" > Applications <a class="help_tooltip" ng-show="help.helpTooltipsEnabled" ng-mouseover="help.sendTooltipGA('applications')" href="#" ng-attr-tooltip="{{tooltip_applications}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" style="{{applicationsSize === 10 ? 'width:290px':''}}" ng-click="showModal('newApplication')">
+ <span class="filter-label">Add New App</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="application in applications">
+ <td>{{application.name}}</td>
+ <td style="text-align: right">{{application.uuid}}</td>
+ </tr>
+ </table>
+ </div>
<bsmodal id="regenerateCredentials"
title="Confirmation"
close="hideModal"
@@ -48,26 +58,26 @@
ng-cloak>
Are you sure you want to regenerate the credentials?
</bsmodal>
-
- <h2 class="title" >Organization API Credentials
- <div class="header-button btn-group pull-right">
- <a class="btn filter-selector" ng-click="showModal('regenerateCredentials')">
- <span class="filter-label">Regenerate Org Credentials</span>
- </a>
- </div>
- </h2>
-
- <table class="table table-striped">
- <tr>
- <td >Client ID</td>
- <td style="text-align: right" >{{orgAPICredentials.client_id}}</td>
- </tr>
- <tr>
- <td>Client Secret</td>
- <td style="text-align: right">{{orgAPICredentials.client_secret}}</td>
- </tr>
- </table>
-
+ <div id="intro-6-org-api-creds">
+ <h2 class="title" >Organization API Credentials <a class="help_tooltip" ng-mouseover="help.sendTooltipGA('api org credentials')" ng-show="help.helpTooltipsEnabled" href="#" ng-attr-tooltip="{{tooltip_org_api_creds}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('regenerateCredentials')">
+ <span class="filter-label">Regenerate Org Credentials</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr>
+ <td >Client ID</td>
+ <td style="text-align: right" >{{orgAPICredentials.client_id}}</td>
+ </tr>
+ <tr>
+ <td>Client Secret</td>
+ <td style="text-align: right">{{orgAPICredentials.client_secret}}</td>
+ </tr>
+ </table>
+ </div>
<bsmodal id="newAdministrator"
title="Create New Administrator"
close="hideModal"
@@ -77,35 +87,34 @@
ng-cloak>
<p>New administrator email: <input id="newAdminInput" ug-validate ng-model="$parent.admin.email" pattern="emailRegex" ng-attr-title="{{emailRegexDescription}}" required type="email" /></p>
</bsmodal>
-
- <h2 class="title" >Organization Administrators
- <div class="header-button btn-group pull-right">
- <a class="btn filter-selector" ng-click="showModal('newAdministrator')">
- <span class="filter-label">Add New Administrator</span>
- </a>
- </div>
- </h2>
-
- <table class="table table-striped">
- <tr ng-repeat="administrator in orgAdministrators">
- <td><img style="width:30px;height:30px;" ng-src="{{administrator.image}}"> {{administrator.name}}</td>
- <td style="text-align: right">{{administrator.email}}</td>
- </tr>
- </table>
-
-
+ <div id="intro-7-org-admins">
+ <h2 class="title" >Organization Administrators <a class="help_tooltip" ng-mouseover="help.sendTooltipGA('org admins')" ng-show="help.helpTooltipsEnabled" href="#" ng-attr-tooltip="{{tooltip_org_admins}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('newAdministrator')">
+ <span class="filter-label">Add New Administrator</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="administrator in orgAdministrators">
+ <td><img style="width:30px;height:30px;" ng-src="{{administrator.image}}"> {{administrator.name}}</td>
+ <td style="text-align: right">{{administrator.email}}</td>
+ </tr>
+ </table>
+ </div>
</div>
<div class="span6">
-
- <h2 class="title">Activities </h2>
- <table class="table table-striped">
- <tr ng-repeat="activity in activities">
- <td>{{activity.title}}</td>
- <td style="text-align: right">{{activity.date}}</td>
- </tr>
- </table>
-
+ <div id="intro-8-activities">
+ <h2 class="title">Activities <a class="help_tooltip" ng-mouseover="help.sendTooltipGA('activities')" ng-show="help.helpTooltipsEnabled" href="#" ng-attr-tooltip="{{tooltip_activities}}" tooltip-placement="right">(?)</a></h2>
+ <table class="table table-striped">
+ <tr ng-repeat="activity in activities">
+ <td>{{activity.title}}</td>
+ <td style="text-align: right">{{activity.date}}</td>
+ </tr>
+ </table>
+ </div>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/org-overview/org-overview.html.orig
----------------------------------------------------------------------
diff --git a/portal/js/org-overview/org-overview.html.orig b/portal/js/org-overview/org-overview.html.orig
new file mode 100644
index 0000000..416019f
--- /dev/null
+++ b/portal/js/org-overview/org-overview.html.orig
@@ -0,0 +1,188 @@
+<div class="org-overview-content" ng-show="activeUI" ng-controller="OrgOverviewCtrl">
+
+ <page-title title=" Org Administration" icon="🕪"></page-title>
+ <section class="row-fluid">
+ <div class="span6">
+ <div id="intro-4-current-org">
+ <h2 class="title">Current Organization <a class="help_tooltip" ng-show="help.helpTooltip" href="#" ng-attr-tooltip="{{tooltip_current_org}}" tooltip-placement="right">(?)</a></h2>
+ <table class="table table-striped">
+ <tr>
+ <td id="org-overview-name">{{currentOrganization.name}}</td>
+ <td style="text-align: right">{{currentOrganization.uuid}}</td>
+ </tr>
+ </table>
+ </div>
+ <bsmodal id="newApplication"
+ title="Create New Application"
+ close="hideModal"
+ closelabel="Cancel"
+ extrabutton="newApplicationDialog"
+ extrabuttonlabel="Create"
+ ng-cloak>
+ <p>New application name: <input ng-model="$parent.newApp.name" ug-validate required type="text" ng-pattern="appNameRegex" ng-attr-title="{{appNameRegexDescription}}" /></p>
+ </bsmodal>
+<<<<<<< HEAD
+ <div id="intro-5-applications">
+ <h2 class="title" > Applications <a class="help_tooltip" ng-show="help.helpTooltip" href="#" ng-attr-tooltip="{{tooltip_applications}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" style="{{applicationsSize === 10 ? 'width:290px':''}}" ng-disabled="!addApplications" ng-click="(addApplications ? showModal('newApplication') : '')">
+ <span class="filter-label">{{!addApplications ? 'You have met your 10 app limit' : 'Add New App'}}</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="application in applications">
+ <td>{{application.name}}</td>
+ <td style="text-align: right">{{application.uuid}}</td>
+ </tr>
+ </table>
+ </div>
+
+ <div id="intro-6-org-api-creds">
+ <bsmodal id="regenerateCredentials"
+ title="Confirmation"
+ close="hideModal"
+ closelabel="Cancel"
+ extrabutton="regenerateCredentialsDialog"
+ extrabuttonlabel="Yes"
+ ng-cloak>
+ Are you sure you want to regenerate the credentials?
+ </bsmodal>
+
+ <h2 class="title" >Organization API Credentials <a class="help_tooltip" ng-show="help.helpTooltip" href="#" ng-attr-tooltip="{{tooltip_org_api_creds}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('regenerateCredentials')">
+ <span class="filter-label">Regenerate Org Credentials</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr>
+ <td >Client ID</td>
+ <td style="text-align: right" >{{orgAPICredentials.client_id}}</td>
+ </tr>
+ <tr>
+ <td>Client Secret</td>
+ <td style="text-align: right">{{orgAPICredentials.client_secret}}</td>
+ </tr>
+ </table>
+ </div>
+ <div id="intro-7-org-admins">
+ <bsmodal id="newAdministrator"
+ title="Create New Administrator"
+ close="hideModal"
+ closelabel="Cancel"
+ extrabutton="newAdministratorDialog"
+ extrabuttonlabel="Create"
+ ng-cloak>
+ <p>New administrator email: <input id="newAdminInput" ug-validate ng-model="$parent.admin.email" pattern="emailRegex" ng-attr-title="{{emailRegexDescription}}" required type="email" /></p>
+ </bsmodal>
+
+ <h2 class="title" >Organization Administrators <a class="help_tooltip" ng-show="help.helpTooltip" href="#" ng-attr-tooltip="{{tooltip_org_admins}}" tooltip-placement="right">(?)</a>
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('newAdministrator')">
+ <span class="filter-label">Add New Administrator</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="administrator in orgAdministrators">
+ <td><img style="width:30px;height:30px;" ng-src="{{administrator.image}}"> {{administrator.name}}</td>
+ <td style="text-align: right">{{administrator.email}}</td>
+ </tr>
+ </table>
+
+ </div>
+=======
+
+ <h2 class="title" > Applications
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" style="{{applicationsSize === 10 ? 'width:290px':''}}" ng-click="showModal('newApplication')">
+ <span class="filter-label">Add New App</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="application in applications">
+ <td>{{application.name}}</td>
+ <td style="text-align: right">{{application.uuid}}</td>
+ </tr>
+ </table>
+
+ <bsmodal id="regenerateCredentials"
+ title="Confirmation"
+ close="hideModal"
+ closelabel="Cancel"
+ extrabutton="regenerateCredentialsDialog"
+ extrabuttonlabel="Yes"
+ ng-cloak>
+ Are you sure you want to regenerate the credentials?
+ </bsmodal>
+
+ <h2 class="title" >Organization API Credentials
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('regenerateCredentials')">
+ <span class="filter-label">Regenerate Org Credentials</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr>
+ <td >Client ID</td>
+ <td style="text-align: right" >{{orgAPICredentials.client_id}}</td>
+ </tr>
+ <tr>
+ <td>Client Secret</td>
+ <td style="text-align: right">{{orgAPICredentials.client_secret}}</td>
+ </tr>
+ </table>
+
+ <bsmodal id="newAdministrator"
+ title="Create New Administrator"
+ close="hideModal"
+ closelabel="Cancel"
+ extrabutton="newAdministratorDialog"
+ extrabuttonlabel="Create"
+ ng-cloak>
+ <p>New administrator email: <input id="newAdminInput" ug-validate ng-model="$parent.admin.email" pattern="emailRegex" ng-attr-title="{{emailRegexDescription}}" required type="email" /></p>
+ </bsmodal>
+
+ <h2 class="title" >Organization Administrators
+ <div class="header-button btn-group pull-right">
+ <a class="btn filter-selector" ng-click="showModal('newAdministrator')">
+ <span class="filter-label">Add New Administrator</span>
+ </a>
+ </div>
+ </h2>
+
+ <table class="table table-striped">
+ <tr ng-repeat="administrator in orgAdministrators">
+ <td><img style="width:30px;height:30px;" ng-src="{{administrator.image}}"> {{administrator.name}}</td>
+ <td style="text-align: right">{{administrator.email}}</td>
+ </tr>
+ </table>
+
+
+>>>>>>> upstream/master
+ </div>
+
+ <div class="span6">
+ <div id="intro-8-activities">
+ <h2 class="title">Activities <a class="help_tooltip" ng-show="help.helpTooltip" href="#" ng-attr-tooltip="{{tooltip_activities}}" tooltip-placement="right">(?)</a></h2>
+ <table class="table table-striped">
+ <tr ng-repeat="activity in activities">
+ <td>{{activity.title}}</td>
+ <td style="text-align: right">{{activity.date}}</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+ </section>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/roles/roles.html
----------------------------------------------------------------------
diff --git a/portal/js/roles/roles.html b/portal/js/roles/roles.html
index 9070ff5..9fbd6f0 100644
--- a/portal/js/roles/roles.html
+++ b/portal/js/roles/roles.html
@@ -8,6 +8,7 @@
closelabel="Cancel"
extrabutton="newRoleDialog"
extrabuttonlabel="Create"
+ buttonid="roles"
ng-cloak>
<fieldset>
<div class="control-group">
@@ -31,6 +32,7 @@
title="Delete Role"
close="hideModal"
closelabel="Cancel"
+ buttonid="deleteroles"
extrabutton="deleteRoleDialog"
extrabuttonlabel="Delete"
ng-cloak>
@@ -42,8 +44,8 @@
<div class="button-toolbar span12">
<a title="Select All" class="btn btn-primary select-all toolbar" ng-show="hasRoles" ng-click="selectAllEntities(rolesCollection._list,this,'rolesSelected',true)"> <i class="pictogram">⊟</i></a>
- <button title="Delete" class="btn btn-primary toolbar" ng-disabled="!hasRoles || !valueSelected(rolesCollection._list)" ng-click="showModal('deleteRole')"><i class="pictogram">☕</i></button>
- <button title="Add" class="btn btn-primary toolbar" ng-click="showModal('newRole')"><i class="pictogram"></i></button>
+ <button id="delete-role-btn" title="Delete" class="btn btn-primary toolbar" ng-disabled="!hasRoles || !valueSelected(rolesCollection._list)" ng-click="showModal('deleteRole')"><i class="pictogram">☕</i></button>
+ <button id="add-role-btn" title="Add" class="btn btn-primary toolbar" ng-click="showModal('newRole')"><i class="pictogram"></i></button>
</div>
<ul class="user-list">
@@ -53,8 +55,9 @@
ng-value="role.get('uuid')"
ng-checked="master"
ng-model="role.checked"
+ id="role-{{role.get('title')}}-cb"
>
- <a >{{role.get('title')}}</a>
+ <a id="role-{{role.get('title')}}-link">{{role.get('title')}}</a>
<br/>
<span ng-if="role.get('name')" class="label">Role Name:</span>{{role.get('name')}}
</li>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/shell/shell-controller.js
----------------------------------------------------------------------
diff --git a/portal/js/shell/shell-controller.js b/portal/js/shell/shell-controller.js
index 22ef75d..e5058e7 100644
--- a/portal/js/shell/shell-controller.js
+++ b/portal/js/shell/shell-controller.js
@@ -8,7 +8,7 @@ AppServices.Controllers.controller('ShellCtrl', ['ug', '$scope', '$log','$sce',
return ;
}
handleShellCommand($scope.shell.input);
- $scope.shell.input ="";
+ // $scope.shell.input ="";
};
var handleShellCommand = function (s) {
@@ -80,10 +80,11 @@ AppServices.Controllers.controller('ShellCtrl', ['ug', '$scope', '$log','$sce',
var printLnToShell = function (s) {
if (!s) s = " ";
+ $scope.shell.outputhidden = s;
var html = '<div class="shell-output-line"><div class="shell-output-line-content">' + s + '</div></div>';
html += ' ';
var trustedHtml = $sce.trustAsHtml( html);
- $scope.shell.output += trustedHtml.toString()
+ $scope.shell.output += trustedHtml.toString();
}
$scope.$on('shell-success',function(evt,data){
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/shell/shell.html
----------------------------------------------------------------------
diff --git a/portal/js/shell/shell.html b/portal/js/shell/shell.html
index b1261b9..b14682e 100644
--- a/portal/js/shell/shell.html
+++ b/portal/js/shell/shell.html
@@ -16,5 +16,6 @@
<pre id="shell-output" class="prettyprint lang-js" style="overflow-x: auto; height: 400px;" ng-bind-html="shell.output">
</pre>
+ <div id="lastshelloutput" ng-bind-html="shell.outputhidden" style="visibility:hidden"></div>
</div>
</section>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/097fd3bd/portal/js/templates.js
----------------------------------------------------------------------
diff --git a/portal/js/templates.js b/portal/js/templates.js
index ba8724d..03116e3 100644
--- a/portal/js/templates.js
+++ b/portal/js/templates.js
@@ -1584,7 +1584,7 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
"\n" +
" <h1 class=\"title\">Enter your credentials</h1>\r" +
"\n" +
- " <div class=\"alert-error\" ng-if=\"loginMessage\">{{loginMessage}}</div>\r" +
+ " <div class=\"alert-error\" id=\"loginError\" ng-if=\"loginMessage\">{{loginMessage}}</div>\r" +
"\n" +
" <div class=\"control-group\">\r" +
"\n" +
@@ -1660,6 +1660,8 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
"\n" +
" </div>\r" +
"\n" +
+ " <div id=\"gtm\" style=\"width: 450px;margin-top: 4em;\" />\r" +
+ "\n" +
"</div>\r" +
"\n"
);
@@ -1823,14 +1825,24 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" <section class=\"row-fluid\">\n" +
"\n" +
" <div class=\"span6\">\n" +
- "\n" +
- " <h2 class=\"title\">Current Organization </h2>\n" +
- " <table class=\"table table-striped\">\n" +
- " <tr>\n" +
- " <td id=\"org-overview-name\">{{currentOrganization.name}}</td>\n" +
- " <td style=\"text-align: right\">{{currentOrganization.uuid}}</td>\n" +
- " </tr>\n" +
- " </table>\n" +
+ " \t<bsmodal id=\"introjs\"\n" +
+ " title=\"Welcome to the API BaaS Admin Portal\"\n" +
+ " close=\"hideModal\"\n" +
+ " closelabel=\"Skip\"\n" +
+ " extrabutton=\"startFirstTimeUser\"\n" +
+ " extrabuttonlabel=\"Take the tour\"\n" +
+ " ng-cloak>\n" +
+ " <p>To get started, click 'Take the tour' for a full walkthrough of the admin portal, or click 'Skip' to start working right away.</p>\n" +
+ " </bsmodal>\n" +
+ "\t\t<div id=\"intro-4-current-org\">\t\n" +
+ "\t <h2 class=\"title\">Current Organization <a class=\"help_tooltip\" ng-mouseover=\"help.sendTooltipGA('current org')\" ng-show=\"help.helpTooltipsEnabled\" href=\"#\" ng-attr-tooltip=\"{{tooltip_current_org}}\" tooltip-placement=\"right\">(?)</a></h2>\n" +
+ "\t <table class=\"table table-striped\">\n" +
+ "\t <tr>\n" +
+ "\t <td id=\"org-overview-name\">{{currentOrganization.name}}</td>\n" +
+ "\t <td style=\"text-align: right\">{{currentOrganization.uuid}}</td>\n" +
+ "\t </tr>\n" +
+ "\t </table>\n" +
+ "\t\t</div>\n" +
"\n" +
" <bsmodal id=\"newApplication\"\n" +
" title=\"Create New Application\"\n" +
@@ -1841,22 +1853,22 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" ng-cloak>\n" +
" <p>New application name: <input ng-model=\"$parent.newApp.name\" ug-validate required type=\"text\" ng-pattern=\"appNameRegex\" ng-attr-title=\"{{appNameRegexDescription}}\" /></p>\n" +
" </bsmodal>\n" +
- "\n" +
- " <h2 class=\"title\" > Applications\n" +
- " <div class=\"header-button btn-group pull-right\">\n" +
- " <a class=\"btn filter-selector\" style=\"{{applicationsSize === 10 ? 'width:290px':''}}\" ng-click=\"showModal('newApplication')\">\n" +
- " <span class=\"filter-label\">Add New App</span>\n" +
- " </a>\n" +
- " </div>\n" +
- " </h2>\n" +
- "\n" +
- " <table class=\"table table-striped\">\n" +
- " <tr ng-repeat=\"application in applications\">\n" +
- " <td>{{application.name}}</td>\n" +
- " <td style=\"text-align: right\">{{application.uuid}}</td>\n" +
- " </tr>\n" +
- " </table>\n" +
- "\n" +
+ "\t\t<div id=\"intro-5-applications\">\t\t\n" +
+ "\t <h2 class=\"title\" > Applications <a class=\"help_tooltip\" ng-show=\"help.helpTooltipsEnabled\" ng-mouseover=\"help.sendTooltipGA('applications')\" href=\"#\" ng-attr-tooltip=\"{{tooltip_applications}}\" tooltip-placement=\"right\">(?)</a>\n" +
+ "\t <div class=\"header-button btn-group pull-right\">\n" +
+ "\t <a class=\"btn filter-selector\" style=\"{{applicationsSize === 10 ? 'width:290px':''}}\" ng-click=\"showModal('newApplication')\">\n" +
+ "\t <span class=\"filter-label\">Add New App</span>\n" +
+ "\t </a>\n" +
+ "\t </div>\n" +
+ "\t </h2>\n" +
+ "\t\t\n" +
+ "\t <table class=\"table table-striped\">\n" +
+ "\t <tr ng-repeat=\"application in applications\">\n" +
+ "\t <td>{{application.name}}</td>\n" +
+ "\t <td style=\"text-align: right\">{{application.uuid}}</td>\n" +
+ "\t </tr>\n" +
+ "\t </table>\n" +
+ "\t\t</div>\n" +
" <bsmodal id=\"regenerateCredentials\"\n" +
" title=\"Confirmation\"\n" +
" close=\"hideModal\"\n" +
@@ -1866,26 +1878,26 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" ng-cloak>\n" +
" Are you sure you want to regenerate the credentials?\n" +
" </bsmodal>\n" +
- "\n" +
- " <h2 class=\"title\" >Organization API Credentials\n" +
- " <div class=\"header-button btn-group pull-right\">\n" +
- " <a class=\"btn filter-selector\" ng-click=\"showModal('regenerateCredentials')\">\n" +
- " <span class=\"filter-label\">Regenerate Org Credentials</span>\n" +
- " </a>\n" +
- " </div>\n" +
- " </h2>\n" +
- "\n" +
- " <table class=\"table table-striped\">\n" +
- " <tr>\n" +
- " <td >Client ID</td>\n" +
- " <td style=\"text-align: right\" >{{orgAPICredentials.client_id}}</td>\n" +
- " </tr>\n" +
- " <tr>\n" +
- " <td>Client Secret</td>\n" +
- " <td style=\"text-align: right\">{{orgAPICredentials.client_secret}}</td>\n" +
- " </tr>\n" +
- " </table>\n" +
- "\n" +
+ "\t\t<div id=\"intro-6-org-api-creds\">\n" +
+ "\t <h2 class=\"title\" >Organization API Credentials <a class=\"help_tooltip\" ng-mouseover=\"help.sendTooltipGA('api org credentials')\" ng-show=\"help.helpTooltipsEnabled\" href=\"#\" ng-attr-tooltip=\"{{tooltip_org_api_creds}}\" tooltip-placement=\"right\">(?)</a>\n" +
+ "\t <div class=\"header-button btn-group pull-right\">\n" +
+ "\t <a class=\"btn filter-selector\" ng-click=\"showModal('regenerateCredentials')\">\n" +
+ "\t <span class=\"filter-label\">Regenerate Org Credentials</span>\n" +
+ "\t </a>\n" +
+ "\t </div>\n" +
+ "\t </h2>\n" +
+ "\t\n" +
+ "\t <table class=\"table table-striped\">\n" +
+ "\t <tr>\n" +
+ "\t <td >Client ID</td>\n" +
+ "\t <td style=\"text-align: right\" >{{orgAPICredentials.client_id}}</td>\n" +
+ "\t </tr>\n" +
+ "\t <tr>\n" +
+ "\t <td>Client Secret</td>\n" +
+ "\t <td style=\"text-align: right\">{{orgAPICredentials.client_secret}}</td>\n" +
+ "\t </tr>\n" +
+ "\t </table>\n" +
+ "\t\t</div>\n" +
" <bsmodal id=\"newAdministrator\"\n" +
" title=\"Create New Administrator\"\n" +
" close=\"hideModal\"\n" +
@@ -1895,35 +1907,34 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" ng-cloak>\n" +
" <p>New administrator email: <input id=\"newAdminInput\" ug-validate ng-model=\"$parent.admin.email\" pattern=\"emailRegex\" ng-attr-title=\"{{emailRegexDescription}}\" required type=\"email\" /></p>\n" +
" </bsmodal>\n" +
- "\n" +
- " <h2 class=\"title\" >Organization Administrators\n" +
- " <div class=\"header-button btn-group pull-right\">\n" +
- " <a class=\"btn filter-selector\" ng-click=\"showModal('newAdministrator')\">\n" +
- " <span class=\"filter-label\">Add New Administrator</span>\n" +
- " </a>\n" +
- " </div>\n" +
- " </h2>\n" +
- "\n" +
- " <table class=\"table table-striped\">\n" +
- " <tr ng-repeat=\"administrator in orgAdministrators\">\n" +
- " <td><img style=\"width:30px;height:30px;\" ng-src=\"{{administrator.image}}\"> {{administrator.name}}</td>\n" +
- " <td style=\"text-align: right\">{{administrator.email}}</td>\n" +
- " </tr>\n" +
- " </table>\n" +
- "\n" +
- "\n" +
+ "\t\t<div id=\"intro-7-org-admins\">\n" +
+ "\t <h2 class=\"title\" >Organization Administrators <a class=\"help_tooltip\" ng-mouseover=\"help.sendTooltipGA('org admins')\" ng-show=\"help.helpTooltipsEnabled\" href=\"#\" ng-attr-tooltip=\"{{tooltip_org_admins}}\" tooltip-placement=\"right\">(?)</a>\n" +
+ "\t <div class=\"header-button btn-group pull-right\">\n" +
+ "\t <a class=\"btn filter-selector\" ng-click=\"showModal('newAdministrator')\">\n" +
+ "\t <span class=\"filter-label\">Add New Administrator</span>\n" +
+ "\t </a>\n" +
+ "\t </div>\n" +
+ "\t </h2>\n" +
+ "\t\n" +
+ "\t <table class=\"table table-striped\">\n" +
+ "\t <tr ng-repeat=\"administrator in orgAdministrators\">\n" +
+ "\t <td><img style=\"width:30px;height:30px;\" ng-src=\"{{administrator.image}}\"> {{administrator.name}}</td>\n" +
+ "\t <td style=\"text-align: right\">{{administrator.email}}</td>\n" +
+ "\t </tr>\n" +
+ "\t </table>\n" +
+ "\t\t\t</div>\n" +
" </div>\n" +
"\n" +
" <div class=\"span6\">\n" +
- "\n" +
- " <h2 class=\"title\">Activities </h2>\n" +
- " <table class=\"table table-striped\">\n" +
- " <tr ng-repeat=\"activity in activities\">\n" +
- " <td>{{activity.title}}</td>\n" +
- " <td style=\"text-align: right\">{{activity.date}}</td>\n" +
- " </tr>\n" +
- " </table>\n" +
- "\n" +
+ " \t<div id=\"intro-8-activities\">\n" +
+ "\t <h2 class=\"title\">Activities <a class=\"help_tooltip\" ng-mouseover=\"help.sendTooltipGA('activities')\" ng-show=\"help.helpTooltipsEnabled\" href=\"#\" ng-attr-tooltip=\"{{tooltip_activities}}\" tooltip-placement=\"right\">(?)</a></h2>\n" +
+ "\t <table class=\"table table-striped\">\n" +
+ "\t <tr ng-repeat=\"activity in activities\">\n" +
+ "\t <td>{{activity.title}}</td>\n" +
+ "\t <td style=\"text-align: right\">{{activity.date}}</td>\n" +
+ "\t </tr>\n" +
+ "\t </table>\n" +
+ "\t</div>\n" +
" </div>\n" +
"\n" +
"\n" +
@@ -2352,6 +2363,7 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" closelabel=\"Cancel\"\n" +
" extrabutton=\"newRoleDialog\"\n" +
" extrabuttonlabel=\"Create\"\n" +
+ " buttonid=\"roles\"\n" +
" ng-cloak>\n" +
" <fieldset>\n" +
" <div class=\"control-group\">\n" +
@@ -2375,6 +2387,7 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" title=\"Delete Role\"\n" +
" close=\"hideModal\"\n" +
" closelabel=\"Cancel\"\n" +
+ " buttonid=\"deleteroles\"\n" +
" extrabutton=\"deleteRoleDialog\"\n" +
" extrabuttonlabel=\"Delete\"\n" +
" ng-cloak>\n" +
@@ -2386,8 +2399,8 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
"\n" +
" <div class=\"button-toolbar span12\">\n" +
" <a title=\"Select All\" class=\"btn btn-primary select-all toolbar\" ng-show=\"hasRoles\" ng-click=\"selectAllEntities(rolesCollection._list,this,'rolesSelected',true)\"> <i class=\"pictogram\">⊟</i></a>\n" +
- " <button title=\"Delete\" class=\"btn btn-primary toolbar\" ng-disabled=\"!hasRoles || !valueSelected(rolesCollection._list)\" ng-click=\"showModal('deleteRole')\"><i class=\"pictogram\">☕</i></button>\n" +
- " <button title=\"Add\" class=\"btn btn-primary toolbar\" ng-click=\"showModal('newRole')\"><i class=\"pictogram\"></i></button>\n" +
+ " <button id=\"delete-role-btn\" title=\"Delete\" class=\"btn btn-primary toolbar\" ng-disabled=\"!hasRoles || !valueSelected(rolesCollection._list)\" ng-click=\"showModal('deleteRole')\"><i class=\"pictogram\">☕</i></button>\n" +
+ " <button id=\"add-role-btn\" title=\"Add\" class=\"btn btn-primary toolbar\" ng-click=\"showModal('newRole')\"><i class=\"pictogram\"></i></button>\n" +
" </div>\n" +
"\n" +
" <ul class=\"user-list\">\n" +
@@ -2397,8 +2410,9 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" ng-value=\"role.get('uuid')\"\n" +
" ng-checked=\"master\"\n" +
" ng-model=\"role.checked\"\n" +
+ " id=\"role-{{role.get('title')}}-cb\"\n" +
" >\n" +
- " <a >{{role.get('title')}}</a>\n" +
+ " <a id=\"role-{{role.get('title')}}-link\">{{role.get('title')}}</a>\n" +
" <br/>\n" +
" <span ng-if=\"role.get('name')\" class=\"label\">Role Name:</span>{{role.get('name')}}\n" +
" </li>\n" +
@@ -2447,6 +2461,7 @@ angular.module('appservices').run(['$templateCache', function($templateCache) {
" <pre id=\"shell-output\" class=\"prettyprint lang-js\" style=\"overflow-x: auto; height: 400px;\" ng-bind-html=\"shell.output\">\n" +
"\n" +
" </pre>\n" +
+ " <div id=\"lastshelloutput\" ng-bind-html=\"shell.outputhidden\" style=\"visibility:hidden\"></div>\n" +
" </div>\n" +
"</section>\n"
);