Ran Shem Tov pushed to branch feature/CC-CHANNELMGR-1510 at cms-community / 
hippo-addon-channel-manager


Commits:
f402c844 by Ran ShemTov at 2017-10-27T14:50:38+02:00
CHANNELMGR-1510 Create binding between the name and url fields component to CC2

- - - - -
71bbeec8 by Ran ShemTov at 2017-10-31T10:29:00+01:00
CHANNELMGR-1510 Finalize the change document name dialog

- - - - -


6 changed files:

- 
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.component.ts
- 
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.html
- 
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.controller.js
- 
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.html
- 
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/step2.controller.js
- frontend-ng/src/i18n/en.json


Changes:

=====================================
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.component.ts
=====================================
--- 
a/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.component.ts
+++ 
b/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.component.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import { Component, ElementRef, OnInit, Output, ViewChild } from 
'@angular/core';
+import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild 
} from '@angular/core';
 import { Observable } from 'rxjs/rx';
 
 @Component({
@@ -25,14 +25,20 @@ import { Observable } from 'rxjs/rx';
 export class NameUrlFieldsComponent implements OnInit {
   @ViewChild('form') form: HTMLFormElement;
   @ViewChild('nameInputElement') nameInputElement: ElementRef;
-  public urlField: string;
+  @Input('nameField') nameField: string;
+  @Input('urlField') urlField: string;
+  @Output() nameFieldChange: EventEmitter<string> = new EventEmitter();
+  @Output() urlFieldChange: EventEmitter<string> = new EventEmitter();
   public urlEditMode: { state: boolean, oldValue: string } = { state: false, 
oldValue: '' };
-  public dummy: string;
 
   ngOnInit() {
     Observable.fromEvent(this.nameInputElement.nativeElement, 'keyup')
       .debounceTime(1000)
-      .subscribe(() => 
this.setDocumentUrlByName(this.form.controls.name.value));
+      .subscribe(() => {
+        this.setDocumentUrlByName(this.nameField);
+        this.nameFieldChange.next(this.nameField);
+        this.urlFieldChange.next(this.urlField);
+      });
   }
 
   setDocumentUrlByName(name: string) {


=====================================
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.html
=====================================
--- 
a/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.html
+++ 
b/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/name-url-fields/name-url-fields.html
@@ -18,7 +18,7 @@
   <!-- Document name field -->
   <div class="field">
     <mat-input-container class="create-content-field">
-      <input mdInput ngModel name="name" placeholder="Document name" required 
#nameInputElement>
+      <input mdInput [(ngModel)]="nameField" name="name" placeholder="Document 
name" required #nameInputElement>
     </mat-input-container>
 
     <hippo-hints [data]="form.controls.name.errors" *ngIf="form.controls.name 
&& form.controls.name.touched">


=====================================
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.controller.js
=====================================
--- 
a/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.controller.js
+++ 
b/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.controller.js
@@ -15,14 +15,20 @@
  */
 
 class NameUrlFieldsDialogCtrl {
-  constructor($mdDialog) {
+  constructor($mdDialog, locals) {
     'ngInject';
 
     this.$mdDialog = $mdDialog;
+    this.name = locals.name;
+    this.url = locals.url;
+    this.title = locals.title;
   }
 
-  submit(form) {
-    this.$mdDialog.hide(form);
+  submit() {
+    this.$mdDialog.hide({
+      name: this.name,
+      url: this.url,
+    });
   }
 
   cancel() {


=====================================
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.html
=====================================
--- 
a/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.html
+++ 
b/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/nameUrlFieldsDialog/name-url-fields-dialog.html
@@ -1,17 +1,23 @@
-<md-dialog flex="30" aria-label="{{ 'CHANGE_DOCUMENT_NAME' | translate }}">
+<md-dialog flex="30" aria-label="{{ ::$ctrl.title }}">
+
   <md-dialog-content>
     <div class="md-dialog-content name-url-fields-dialog">
-      <hippo-name-url-fields></hippo-name-url-fields>
+      <h3>{{ ::$ctrl.title }}</h3>
+
+      <hippo-name-url-fields [(name-field)]="$ctrl.name" 
[(url-field)]="$ctrl.url"></hippo-name-url-fields>
     </div>
   </md-dialog-content>
+
   <md-dialog-actions>
     <md-button ng-click="$ctrl.cancel()"
                class="qa-cancel">
       {{ ::'CANCEL' | translate }}
     </md-button>
+
     <md-button ng-click="$ctrl.submit()"
                class="qa-submit-name-url">
       {{ ::'CHANGE' | translate }}
     </md-button>
   </md-dialog-actions>
+
 </md-dialog>


=====================================
frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/step2.controller.js
=====================================
--- 
a/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/step2.controller.js
+++ 
b/frontend-ng/src/app/channel/sidePanels/rightSidePanel/create-content/step-2/step2.controller.js
@@ -125,16 +125,22 @@ class createContentStep2Controller {
       template: nameUrlFieldsTemplate,
       controller: NameUrlFieldsDialogCtrl,
       controllerAs: '$ctrl',
+      locals: {
+        title: this.$translate.instant('CHANGE_DOCUMENT_NAME'),
+        name: this.doc.displayName,
+        url: '',
+      },
       bindToController: true,
     });
   }
 
-  _submitEditNameUrl() {
-    console.log('name-url-submitted');
+  _submitEditNameUrl(nameUrlObj) {
+    console.log(nameUrlObj);
+    this.doc.displayName = nameUrlObj.name;
   }
 
   editNameUrl() {
-    this._openEditNameUrlDialog().then(nameUrl => 
this._submitEditNameUrl(nameUrl));
+    this._openEditNameUrlDialog().then(nameUrlObj => 
this._submitEditNameUrl(nameUrlObj));
   }
 
   _resetBeforeStateChange() {


=====================================
frontend-ng/src/i18n/en.json
=====================================
--- a/frontend-ng/src/i18n/en.json
+++ b/frontend-ng/src/i18n/en.json
@@ -3,6 +3,7 @@
   "ADVANCED_SETTINGS": "Advanced settings",
   "CANCEL": "Cancel",
   "CHANNEL_PROPERTIES_SAVE_SUCCESS": "Channel settings saved successfully",
+  "CHANGE_DOCUMENT_NAME": "Change document name",
   "CLOSE": "Close",
   "COLLAPSE": "Collapse",
   "CONFIRM_DELETE_CHANNEL_MESSAGE": "You cannot undo this action.",



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-addon-channel-manager/compare/99372fd666085cf9d6c2287446719b70341feedd...71bbeec8ef6b881ca80cfe663f7c999e4fded119

---
View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-addon-channel-manager/compare/99372fd666085cf9d6c2287446719b70341feedd...71bbeec8ef6b881ca80cfe663f7c999e4fded119
You're receiving this email because of your account on code.onehippo.org.
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to