diff --git a/component/webui/src/main/java/org/exoplatform/social/webui/activity/UIActivityFactory.java b/component/webui/src/main/java/org/exoplatform/social/webui/activity/UIActivityFactory.java index f6243d2283..d2861d3d1e 100755 --- a/component/webui/src/main/java/org/exoplatform/social/webui/activity/UIActivityFactory.java +++ b/component/webui/src/main/java/org/exoplatform/social/webui/activity/UIActivityFactory.java @@ -53,11 +53,14 @@ public UIActivityFactory() { public BaseUIActivity addChild(ExoSocialActivity activity, UIContainer parent) throws Exception { final String type = activity.getType(); - if(type!=null){ + final String externalId = activity.getExternalId(); + if (type != null) { return buildActivity(activity, parent, type); - } else { - return buildActivity(activity, parent, UIDefaultActivity.ACTIVITY_TYPE); + } else if (externalId != null) { + // TODO Need to check if match the provided activity type or not + return buildActivity(activity, parent, externalId); } + return buildActivity(activity, parent, UIDefaultActivity.ACTIVITY_TYPE); } private BaseUIActivity buildActivity(ExoSocialActivity activity, UIContainer parent, String type) throws Exception { diff --git a/extras/link-composer-plugin/src/main/java/org/exoplatform/social/plugin/link/UILinkActivityComposer.java b/extras/link-composer-plugin/src/main/java/org/exoplatform/social/plugin/link/UILinkActivityComposer.java index a4a6e7a2bb..ff909b0f24 100644 --- a/extras/link-composer-plugin/src/main/java/org/exoplatform/social/plugin/link/UILinkActivityComposer.java +++ b/extras/link-composer-plugin/src/main/java/org/exoplatform/social/plugin/link/UILinkActivityComposer.java @@ -223,12 +223,14 @@ public void onPostActivity(PostContext postContext, UIComponent source, return; } - String title = "Shared a link: ${" + TITLE_PARAM + "} "; + String title = "${" + TITLE_PARAM + "}"; ExoSocialActivity activity = new ExoSocialActivityImpl(userIdentity.getId(), UILinkActivity.ACTIVITY_TYPE, title, null); activity.setTemplateParams(templateParams); + activity.setExternalId(UILinkActivity.ACTIVITY_TYPE); + activity.setUrl(templateParams.get(LINK_PARAM).toString()); if (postContext == UIComposer.PostContext.SPACE) { UISpaceActivitiesDisplay uiDisplaySpaceActivities = (UISpaceActivitiesDisplay) getActivityDisplay(); diff --git a/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/LinkShare.js b/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/LinkShare.js index 64fedf81a8..86c1a43453 100644 --- a/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/LinkShare.js +++ b/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/LinkShare.js @@ -40,7 +40,7 @@ eXo.social.LinkShare = function(link, lang) { this.callbackHandler = function(res) { //when can not get any info function fallback(data) { - LinkShare.data.title = data.link; //TODO gets domain name only + LinkShare.data.title = data.title; LinkShare.data.link = data.link; LinkShare.data.description = ""; LinkShare.data.images = []; @@ -658,7 +658,7 @@ eXo.social.LinkShare.prototype.save = function(comment, callback) { body.comment = comment; //body.comment = status; //params[opensocial.Activity.Field.TITLE] = Locale.getMsg('user_shared_a_link', [viewerName]); - params[opensocial.Activity.Field.TITLE] = gadgets.json.stringify(body); + //params[opensocial.Activity.Field.TITLE] = gadgets.json.stringify(body); //params[opensocial.Activity.Field.BODY] = gadgets.json.stringify(body); //debug.info(params[opensocial.Activity.Field.BODY]); //thumbnail @@ -675,14 +675,12 @@ eXo.social.LinkShare.prototype.save = function(comment, callback) { // var activity = opensocial.newActivity(params); var link = LinkShare.data.link; var title = LinkShare.data.title; - var titleData = "Shared a link: " + title + " "; var description = LinkShare.data.description; - var activity = opensocial.newActivity({ 'title' : titleData, + var image = LinkShare.data.images[LinkShare.data.selectedImageIndex]; + var activity = opensocial.newActivity({ 'title' : title, 'url': link, 'externalId' : "LINK_ACTIVITY", - - 'templateParams': - {"comment":comment,"description":description, "title":title, "link":link} + 'templateParams': {"comment":comment,"description":description, "title":title, "link":link, "image":image} }); opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, callback); //resets diff --git a/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/StatusUpdate.js b/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/StatusUpdate.js index 9b7cacdee5..42abe9c4ac 100644 --- a/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/StatusUpdate.js +++ b/webapp/opensocial/src/main/webapp/gadgets/Activities/script/eXo/social/StatusUpdate.js @@ -688,14 +688,14 @@ eXo.social.StatusUpdate.prototype.handleActivities = function(dataResponse, data * Gets html block of link share activity. * * @param activity - * @param data json title object from activity.title + * @param jsonObject * @param isOwnerActivity to decide some actions displayed */ - var getLinkShareActivityBlock = function(activity, jsonTitle, isOwnerActivity) { - if (!activity || !jsonTitle) { + var getLinkShareActivityBlock = function(activity, jsonObject, isOwnerActivity) { + if (!activity || !jsonObject) { debug.error('getLinkShareActivityBlock: activity or data is null.'); debug.info(activity); - debug.info(jsonTitle); + debug.info(jsonObject); miniMessage.createDismissibleMessage(Locale.getMsg('internal_error')); return ''; } @@ -722,35 +722,35 @@ eXo.social.StatusUpdate.prototype.handleActivities = function(dataResponse, data html.push('