link-preview icon indicating copy to clipboard operation
link-preview copied to clipboard

Multiple Link Preview Containers on One Page

Open sinanspd opened this issue 6 years ago • 10 comments

Bug Report or Feature Request (mark with an x)

- [ ] bug report -> please search issues before submitting
- [x] feature request

OS and Version?

Versions

Repro steps

The log given by the failure

Desired functionality

Mention any other details that might be useful

sinanspd avatar Apr 18 '19 18:04 sinanspd

what do you mean with multiple link preview container ?

The mat-link-preview-container component ?

Did you try the multiple input ? It will allow you to render multiple links and url within one container..

check this out

Bildschirmfoto 2019-04-19 um 09 10 15

Please feel free to provide more info about your feature request

AnthonyNahas avatar Apr 19 '19 06:04 AnthonyNahas

Hi @AnthonyNahas Thank is not what I meant. Let's say we have two input fields for links (i.e. one for media articles, one for youtube videos/interviews)

  <form [formGroup]="pressForm">
       <mat-form-field appearance="outline">
              <mat-label> New Article Links </mat-label>
              <textarea matInput matTextareaAutosize matLinkPreview minRows="6" 
                     formControlName="articles"></textarea>	 
        </mat-form-field>
        <mat-link-preview-container [multiple]="true"></mat-link-preview-container> 
    </form>

    <form [formGroup]="videoForm">
            <mat-form-field appearance="outline">
	 	   <mat-label> Video Links </mat-label>
	            <textarea matInput matTextareaAutosize matLinkPreview minRows="6" 
                                    formControlName="videos"></textarea>	
              </mat-form-field>
               <mat-link-preview-container [multiple]="true"></mat-link-preview-container>
    </form>

Now if we put a link inside the first text area, it renders the preview in both containers

Screen Shot 2019-04-19 at 2 26 19 AM

Ideally, it would be nice to be able to link input fields to specific containers so multiple instances can be used in the same component. Similar to how Angular Datepicker is implemented

sinanspd avatar Apr 19 '19 06:04 sinanspd

I see! I will really appreciate a PR from you !!

AnthonyNahas avatar May 04 '19 10:05 AnthonyNahas

Any news on this? It would be really nice.

murilogoncalvesp avatar Nov 29 '19 20:11 murilogoncalvesp

Sorry I had no time to look into this. Have a quite lengthy backlog on my hands and this is towards the bottom. I am not a front end dev so I need to educate myself in type script a little bit before doing this. If anybody wants to pick it up feel free.

From what I remember during my initial pass, this behavior is coming from the fact that the injected service is a singleton. An easy, obvious work around is to, instead of having a shared service, to init one per component but I think it is bad practice to do so.

I think the best way to do this will be to pass the service some sort of identifier and keep the links in a map instead of a list. Datepicker, I believe achieves this through ViewChilds but as I said, I need to dig into datepicker to see exactly how they do it and the 30 files in the repo doesn't make it much easier. I need to block a good chunk of time to dig into that. Will try to get to this Q1 2020 hopefully.

sinanspd avatar Nov 29 '19 21:11 sinanspd

no problem thank u

AnthonyNahas avatar Nov 30 '19 09:11 AnthonyNahas

how to set linkpreview on page load

sivarooban avatar Jul 02 '20 20:07 sivarooban

Any news on this? i am stuck. how to show preveiw on page load if we have url?

java-sinon avatar Nov 30 '20 09:11 java-sinon

PR are welcome guys

AnthonyNahas avatar Nov 30 '20 19:11 AnthonyNahas

PR are welcome guys

any solution for this?

java-sinon avatar Dec 01 '20 04:12 java-sinon