correct document permalinks in notice and share buttons
authorymh <ymh.work@gmail.com>
Tue, 22 Nov 2016 18:33:07 +0100
changeset 433 65e357e5eecb
parent 432 44569a7f8db0
child 434 58df2c256e00
correct document permalinks in notice and share buttons
cms/app-client/app/components/playlist-component.js
cms/app-client/app/helpers/abs-url-for.js
cms/app-client/app/templates/components/notice-component.hbs
cms/app-client/app/templates/components/playlist-component.hbs
--- a/cms/app-client/app/components/playlist-component.js	Tue Nov 22 16:55:56 2016 +0100
+++ b/cms/app-client/app/components/playlist-component.js	Tue Nov 22 18:33:07 2016 +0100
@@ -86,8 +86,6 @@
         },
 
         shareLinkRender: (elemId) => {
-            //Ember.$("#"+elemId+" .playlist-share-button").click(function(e) { e.preventDefault(); return false;});
-            //console.log("RENDER");
             SocialShareKit.init({selector: "#"+elemId+" .ssk"});
             Ember.$("#"+elemId+" .playlist-share-button-close").click(function() {
                 // This is done like this because I was not able to register an action directly on the button like shgown on ember-tooltips documentaion (https://github.com/sir-dunxalot/ember-tooltips#popover-on-element)
@@ -103,12 +101,6 @@
             return true;
         },
 
-        shareLinkClose: function() {
-            console.log("CLOSE");
-            //console.log("CLOSE", popover);
-            // popover.hide();
-            // return false;
-        }
     }
 
 });
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/helpers/abs-url-for.js	Tue Nov 22 18:33:07 2016 +0100
@@ -0,0 +1,20 @@
+// inspired by http://stackoverflow.com/a/36368522
+
+import Ember from 'ember';
+import ENV from '../config/environment';
+
+export default Ember.Helper.extend({
+  router: Ember.computed(function() {
+    return Ember.getOwner(this).lookup('router:main');
+  }),
+
+  compute([routeName, ...routeParams]) {
+    let router = this.get('router');
+    let rootUrl = ENV.rootURL;
+
+    var resUrl = Ember.isEmpty(routeParams) ?
+      router.generate(routeName) : router.generate(routeName, routeParams[0]);
+    var location = window.location;
+    return  location.protocol + "//" + location.host + rootUrl + resUrl;
+  }
+});
--- a/cms/app-client/app/templates/components/notice-component.hbs	Tue Nov 22 16:55:56 2016 +0100
+++ b/cms/app-client/app/templates/components/notice-component.hbs	Tue Nov 22 18:33:07 2016 +0100
@@ -1,61 +1,54 @@
 <h2>{{ item.title }}</h2>
-<h5>{{#link-to "document" item.id (query-params) class="notice-permalink" target="blank"}}permalien{{/link-to}}</h5>
+<h5><a href={{abs-url-for "document" item.id}} class="notice-permalink" target="blank">permalien</a></h5>
 <table>
-<tr>
-	<td class="title">Editeur{{#if (if-operator item.publishers.length '>' 1)}}s{{/if}}</td>
-	<td>
-		<ul>
-		{{#each item.publishers as |publisher|}}
-			<li>{{ publisher }}</li>
-		{{/each}}
-		</ul>
-	</td>
-</tr>
-<tr>
-	<td class="title">Langue</td>
-	<td>{{#each item.languages as |lang index|}}{{if index ", "}}<span class="action" {{action 'addLanguageFilter' lang}}>{{ doc-language url=lang class="language"}}</span><a href="{{lang}}" target="_blank" class="fa fa-share-square">Share</a>{{/each}}</td>
-</tr>
-<tr>
-	<td class="title">Sujet{{#if (if-operator item.computedSubjects.length '>' 1)}}s{{/if}}</td>
-	<td>
-		<ul>
-		{{#each subjects as |subject|}}
-			<li>
-			{{#if subject.url}}
-				{{#if subject.name}}
-					{{subject.name}}
-				{{else}}
-					<span class="action" {{action 'addThemeFilter' subject.url}}>{{component (getLinkType subject.url) url=subject.url}}</span>
-				{{/if}}
-				<a href="{{subject.url}}" target="_blank" class="fa fa-share-square">Share</a>
-			{{else}}
-				{{subject.name}}
-			{{/if}}
-			</li>
-		{{/each}}
-		</ul>
-	</td>
-</tr>
-<tr>
-	<td class="title">Enregistré en</td>
-	<td>{{ short-date item.issued }}</td>
-</tr>
-<tr>
-	<td class="title">Participant{{#if (if-operator participants.length '>' 1)}}s{{/if}}</td>
-	<td>
-		<ul>
-		{{#each participants as |participant|}}
-			<li>{{ participant.name }} ({{ participant.role }})</li>
-		{{/each}}
-		</ul>
-	</td>
-</tr>
-<tr>
-	<td class="title">Lieu</td>
-	<td>{{ location }}</td>
-</tr>
-<tr>
-	<td class="title">Durée</td>
-	<td>{{to-minutes item.duration}}</td>
-</tr>
+  <tr>
+    <td class="title">Editeur{{#if (if-operator item.publishers.length '>' 1)}}s{{/if}}</td>
+    <td>
+      <ul>
+        {{#each item.publishers as |publisher|}}
+        <li>{{ publisher }}</li>
+        {{/each}}
+      </ul>
+    </td>
+  </tr>
+  <tr>
+    <td class="title">Langue</td>
+    <td>{{#each item.languages as |lang index|}}{{if index ", "}}<span class="action" {{action 'addLanguageFilter' lang}}>{{ doc-language url=lang class="language"}}</span><a href="{{lang}}" target="_blank" class="fa fa-share-square">Share</a>{{/each}}</td>
+  </tr>
+  <tr>
+    <td class="title">Sujet{{#if (if-operator item.computedSubjects.length '>' 1)}}s{{/if}}</td>
+    <td>
+      <ul>
+        {{#each subjects as |subject|}}
+        <li>
+          {{#if subject.url}} {{#if subject.name}} {{subject.name}} {{else}}
+          <span class="action" {{action 'addThemeFilter' subject.url}}>{{component (getLinkType subject.url) url=subject.url}}</span>          {{/if}}
+          <a href="{{subject.url}}" target="_blank" class="fa fa-share-square">Share</a> {{else}} {{subject.name}} {{/if}}
+        </li>
+        {{/each}}
+      </ul>
+    </td>
+  </tr>
+  <tr>
+    <td class="title">Enregistré en</td>
+    <td>{{ short-date item.issued }}</td>
+  </tr>
+  <tr>
+    <td class="title">Participant{{#if (if-operator participants.length '>' 1)}}s{{/if}}</td>
+    <td>
+      <ul>
+        {{#each participants as |participant|}}
+        <li>{{ participant.name }} ({{ participant.role }})</li>
+        {{/each}}
+      </ul>
+    </td>
+  </tr>
+  <tr>
+    <td class="title">Lieu</td>
+    <td>{{ location }}</td>
+  </tr>
+  <tr>
+    <td class="title">Durée</td>
+    <td>{{to-minutes item.duration}}</td>
+  </tr>
 </table>
\ No newline at end of file
--- a/cms/app-client/app/templates/components/playlist-component.hbs	Tue Nov 22 16:55:56 2016 +0100
+++ b/cms/app-client/app/templates/components/playlist-component.hbs	Tue Nov 22 18:33:07 2016 +0100
@@ -36,9 +36,9 @@
                   as |popover| }}
                     <p>Partager un lien vers cette notice</p>
                     <div>
-                    {{input id=(concat "popup-playlist-share-button-text-" index) value=(concat currentUrl "#/doc/" (url-encode document.id)) readonly='readonly' class='playlist-share-button-link'}}
+                    {{input id=(concat "popup-playlist-share-button-text-" index) value=(abs-url-for "document" document.id) readonly='readonly' class='playlist-share-button-link'}}
                     </div>
-                    <div class="ssk-group ssk-xs playlist-share-button-list" data-url="{{concat currentUrl "#/doc/" (url-encode document.id)}}" data-title="Corpus de la Parole : {{ document.title }}" data-text="Partager cette notice">
+                    <div class="ssk-group ssk-xs playlist-share-button-list" data-url={{abs-url-for "document" document.id}} data-title="Corpus de la Parole : {{ document.title }}" data-text="Partager cette notice">
                         <a href="" class="ssk ssk-facebook"></a>
                         <a href="" class="ssk ssk-twitter"></a>
                         <a href="" class="ssk ssk-google-plus"></a>