Mathijs den Burger pushed to branch feature/cmng-psp1-CHANNELMGR-337 at 
cms-community / hippo-addon-channel-manager


Commits:
9f3ad01d by Mathijs den Burger at 2016-05-30T13:31:36+02:00
CHANNELMGR-337 wrap multiple changes before digest in one $apply

- - - - -
e3c88f34 by Mathijs den Burger at 2016-05-30T13:41:23+02:00
CHANNELMGR-337 disable or hide toolbar items until page is loaded

Selecting a different viewport before the page has been loaded
will fail because the 'scrollWidth' cannot read.

Going to edit mode before the page has loaded fails because the
page structure has not been analyzed and no CSS can be injected.

- - - - -
433ba04e by Mathijs den Burger at 2016-05-30T13:41:53+02:00
CHANNELMGR-337 show empty toolbar with progress until channel loaded

- - - - -


3 changed files:

- frontend-ng/src/angularjs/channel/channel.controller.js
- frontend-ng/src/angularjs/channel/channel.html
- frontend-ng/src/index.html


Changes:

=====================================
frontend-ng/src/angularjs/channel/channel.controller.js
=====================================
--- a/frontend-ng/src/angularjs/channel/channel.controller.js
+++ b/frontend-ng/src/angularjs/channel/channel.controller.js
@@ -79,10 +79,11 @@ export class ChannelCtrl {
   }
 
   _clear() {
-    this.hideSubpage();
-    this.leaveEditMode();
-    this.ChannelService.clearChannel();
-    this.$rootScope.$digest();
+    this.$rootScope.$apply(() => {
+      this.hideSubpage();
+      this.leaveEditMode();
+      this.ChannelService.clearChannel();
+    });
   }
 
   isChannelLoaded() {


=====================================
frontend-ng/src/angularjs/channel/channel.html
=====================================
--- a/frontend-ng/src/angularjs/channel/channel.html
+++ b/frontend-ng/src/angularjs/channel/channel.html
@@ -23,14 +23,15 @@
 
       <page-actions ng-if="channelCtrl.isEditMode" 
on-action-selected="channelCtrl.showSubpage(subpage)"></page-actions>
 
-      <relevance-view-as ng-show="channelCtrl.isChannelLoaded()" 
render-variant="channelCtrl.getRenderVariant()"></relevance-view-as>
+      <relevance-view-as ng-show="channelCtrl.isChannelLoaded() && 
channelCtrl.isPageLoaded()"
+                         
render-variant="channelCtrl.getRenderVariant()"></relevance-view-as>
 
       <span flex></span>
 
       <md-button ng-repeat="viewPort in channelCtrl.viewPorts"
                  ng-click="channelCtrl.selectViewPort(viewPort)"
                  ng-class="{ 'md-accent': 
channelCtrl.isViewPortSelected(viewPort) }"
-                 ng-disabled="!channelCtrl.isChannelLoaded()"
+                 ng-disabled="!channelCtrl.isChannelLoaded || 
!channelCtrl.isPageLoaded()"
                  aria-label="{{ viewPort.titleKey | translate }}"
                  class="md-icon-button qa-button-viewport-{{viewPort.name}}">
         <md-icon title="{{ viewPort.titleKey | translate }}" 
class="material-icons">{{viewPort.icon}}</md-icon>
@@ -46,7 +47,7 @@
         <md-button class="qa-button-edit"
                    ng-class="{ 'md-accent md-raised': 
channelCtrl.isEditModeActive() }"
                    ng-if="channelCtrl.isEditable()"
-                   ng-disabled="!channelCtrl.isChannelLoaded() || 
channelCtrl.isCreatingPreview"
+                   ng-disabled="!channelCtrl.isChannelLoaded() || 
!channelCtrl.isPageLoaded() || channelCtrl.isCreatingPreview"
                    ng-click="channelCtrl.enterEditMode()">
           {{ 'TOOLBAR_SWITCH_VIEWER_MODE_EDIT' | translate }}
         </md-button>
@@ -54,7 +55,7 @@
         <md-button class="qa-button-view"
                    ng-class="{ 'md-accent md-raised': 
!channelCtrl.isEditModeActive() }"
                    ng-if="channelCtrl.isEditable()"
-                   ng-disabled="!channelCtrl.isChannelLoaded() || 
channelCtrl.isCreatingPreview"
+                   ng-disabled="!channelCtrl.isChannelLoaded() || 
!channelCtrl.isPageLoaded() || channelCtrl.isCreatingPreview"
                    ng-click="channelCtrl.leaveEditMode()">
           {{ 'TOOLBAR_SWITCH_VIEWER_MODE_VIEW' | translate }}
         </md-button>


=====================================
frontend-ng/src/index.html
=====================================
--- a/frontend-ng/src/index.html
+++ b/frontend-ng/src/index.html
@@ -32,7 +32,11 @@
   </head>
 
   <body ng-app="hippo-cm" ng-strict-di>
-    <div ui-view layout-fill></div>
+    <div ui-view layout-fill>
+      <md-toolbar>
+        <md-progress-linear md-mode="indeterminate"></md-progress-linear>
+      </md-toolbar>
+    </div>
 
     <!-- build:js scripts/hippo-cm.min.js -->
     <script src="bower_components/es6-shim/es6-shim.js"></script>



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-addon-channel-manager/compare/77c263eea9d7924c1aecb27663a21b7a58746deb...433ba04ed24a929ae52bf1a3b88202a56c6d9536
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to