Riron / ionic-img-viewer

Ionic 2+ component providing a Twitter inspired experience to visualize pictures.
MIT License
283 stars 118 forks source link

Support multiple pictures show, left and right sliding display #68

Open jianminLee opened 7 years ago

jianminLee commented 7 years ago

sorry,my English is bad.... I have added more pictures to slide show。 It is necessary to explain here

  updateImageSrc(src) {
    if (Array.isArray(src)) {
      let srcLen = src.length;
      let safeImage: SafeUrl[] = [];
      for (let i = 0; i < srcLen; i++) {
        if(this.originalSrc === src[i]){
          this.imageCurIndex = i;
        }
        if(i === 0){
          this.imageChange = this._sanitizer.bypassSecurityTrustUrl(src[i]);
          safeImage = safeImage.concat(this.imageUrl);
          continue;
        }
        safeImage.push(this._sanitizer.bypassSecurityTrustUrl(src[i]));
      }
      this.imageUrl = safeImage;
    } else {
      this.originalSrc = src;
      this.imageUrl.push(this._sanitizer.bypassSecurityTrustUrl(src));
    }
  }

Because of the animation, I have to do a lot of operations here, if you choose a picture of a, I need to show that the effect of animation, and then slide to show before or after the picture, I really no better The way.

Use the same as before, just can be passed to the array or a single image URL.

Thank you again, this project is very helpful for my work, the animation is very cool, of course, the hope of the code for your project also help。

Riron commented 7 years ago

Thanks for the PR 👍 That's a lot of code ! I will try to give it a look ASAP

Muneem commented 7 years ago

is this support available now? How to use this feature?

junyung1261 commented 7 years ago

how can fetch this

jianminLee commented 7 years ago

@Muneem

<img item-right src="{{post.imgSrc[0]}}" imageViewer="{{post.imgSrc}}">

Like a document, just an array is passed in

Muneem commented 7 years ago

so is it possible to add ion-slide in imageViewer?. I mean its more like gallery where user cal slide images also and they can zoom? is this support available?

jianminLee commented 7 years ago

@Muneem
of course

Muneem commented 7 years ago

How? Right now its only one image. I want to add ion-slide inside imageviewer

jianminLee commented 7 years ago

@Muneem

You have to use my pull request

Muneem commented 7 years ago

@jianminLee ok then how would i use that feature? there is no documentation of how to use that feauture

jianminLee commented 7 years ago

@Muneem

See the author's document just fine, I just added a function, and this function only need you to the array, the above reply I have given the code

Muneem commented 7 years ago

@jianminLee do you have working example of this feature?

jianminLee commented 7 years ago

@Muneem

There are examples in the author's document

<img item-right src="{{post.imgSrc[0]}}" imageViewer="{{post.imgSrc}}">

or

this.imageView.create(event.srcElement, {fullResImage: imgArr}).present();

imgArr and post.imgSrc can be an array or a string

Muneem commented 7 years ago

@jianminLee i have provided array but its not showing me next images in slider. it is just opening that image where i am clicking

jianminLee commented 7 years ago

@Muneem

Are you sure you're using my pull request?

Please get the code here

https://github.com/jianminLee/ionic-img-viewer

Muneem commented 7 years ago

How to use this as npm package? I have used npm install git+ your repo. but its giving me unmet peerdependency error

jianminLee commented 7 years ago

@Muneem

Posted an error message

Muneem commented 7 years ago

screen shot 2017-08-17 at 4 33 18 pm

jianminLee commented 7 years ago

@Muneem This is the problem with the ionic framework. You can try running the program to see if it works, otherwise you can only upgrade your

Muneem commented 7 years ago

@jianminLee i am using latest ionic configuration. All my things are latest. I think your branch is old so i have to downgrade few things to test this functionality

jianminLee commented 7 years ago

@Muneem

I'm sorry, I did not look at the wrong message carefully. I run in ionic-angular 3.6.0, no problem

Muneem commented 7 years ago

@jianminLee i downgraded my version. now its installed. but still its opening one image only. i have supplied imageViewer to my array but it is not showing me other images.

jianminLee commented 7 years ago

@Muneem

You do not need to downgrade, I have updated it Package.json, if there is an error please posted your code

Muneem commented 7 years ago

@jianminLee when i give array then it only opens 1 image and in console i get error 400 status error

Muneem commented 7 years ago
  <ion-slide *ngFor="let image of media" class="image-slides">
      <img src={{image}} imageViewer="{{media}}">
    </ion-slide>
Muneem commented 7 years ago

this is my code how i am using this

jianminLee commented 7 years ago
<img item-right src="{{post.imgSrc[0]}}" imageViewer="{{post.imgSrc}}">

You do not need to use ion-slides Just add imageViewer = "{{post.imgSrc}} to your image element, Post.imgSrc is your array of pictures src, for example:

Post.imgSrc = ['http://xxxx.xxx/xxx.jpg','http://xxxx.xxx/xxx.jpg','http://xxxx.xxx/xxx.jpg','http: //xxxx.xxx/xxx.jpg '];
Muneem commented 7 years ago

its same. I am passing array of images. It should open that

Muneem commented 7 years ago

How you are generating img src? As i am getting error and i see its wrong src

Muneem commented 7 years ago

I found issue. I am passing array of images. And you are using this as src. You are not breaking it or yo are not considering it as array of images

jianminLee commented 7 years ago

@Muneem

I do not understand what you mean, can you put the complete code?

Muneem commented 7 years ago

This is request object these all are array object so it is appending all this in 1 request

Muneem commented 7 years ago

one more thing can you please send me screenshot of what you have implemente?

Muneem commented 7 years ago

have you check request object?screenshot which i have posted?

jianminLee commented 7 years ago

@Muneem

Post.imgSrc = ['http://xxxx.xxx/xxx.jpg','http://xxxx.xxx/xxx.jpg','http://xxxx.xxx/xxx.jpg','http: //xxxx.xxx/xxx.jpg '];

You can try to http://xxxx.xxx/xxx.jpg all replaced by a valid image url, look at the effect. Casually to google a few pictures of the url

jianminLee commented 7 years ago

@Muneem

Then like this:

      <ion-thumbnail item-right *ngIf="post.imgSrc.length">
        <img item-right src="{{post.imgSrc[0]}}" imageViewer="{{post.imgSrc}}">
      </ion-thumbnail>
Muneem commented 7 years ago

@jianminLee can you please tell me how could i include this in ionic project? As through npm installl i am unable to include your branch in my ionic project

jianminLee commented 7 years ago

@Muneem

npm install https://github.com/jianminLee/ionic-img-viewer.git

This is not what?

Muneem commented 7 years ago

When i run npm install it foes not install from your branch

Get Outlook for Androidhttps://aka.ms/ghei36


From: jianmingLee notifications@github.com Sent: Thursday, August 17, 2017 6:03:39 PM To: Riron/ionic-img-viewer Cc: Muneem; Mention Subject: Re: [Riron/ionic-img-viewer] Support multiple pictures show, left and right sliding display (#68)

@Muneemhttps://github.com/muneem

npm install https://github.com/jianminLee/ionic-img-viewer.git

This is not what?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Riron/ionic-img-viewer/pull/68#issuecomment-323083288, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGRcTP7U9XAsHHhaMaXWyr0omGqaE6x_ks5sZEg7gaJpZM4OJCGh.

jianminLee commented 7 years ago

@Muneem

If not, then I have no good idea, you can download directly to use

Muneem commented 7 years ago

these all changes are present here: https://github.com/jianminLee/ionic-img-viewer

Muneem commented 7 years ago

?

jianminLee commented 7 years ago

@Muneem

Yes I will merge all the changes to the author

Muneem commented 7 years ago

@jianminLee one suggestion put it in master and generate new npm version also.

junyung1261 commented 6 years ago

how can i get this branch?? im using ionic 3.9.2

seiyria commented 6 years ago

Currently it won't install because @jianminLee has an invalid semver version in the package.json. Sent a PR for that. Hopefully it will be merged, and hopefully that will get merged here!

C1PR14N055 commented 6 years ago

+1, would be useful

LufoX11 commented 6 years ago

This is THE feature. It would be the best plugin if this kind of support would be added.

AnthonyBillon commented 6 years ago

Hi, will this branch be merged with master ? I'm really interested by this feature !

Shals08 commented 6 years ago

Hi, Am using "https://github.com/jianminLee/ionic-img-viewer/" to display the array of images by following your instructions. But there is one issue . InitialSlide attribute which am passing from my application based on user selection is not setting the image in the ion-slide immediately . There is a slight delay. Assume on clicking on the third image, am getting the first image for a second and then i get the proper image.

jianminLee commented 6 years ago

@Shals08 look this issue! https://github.com/ionic-team/ionic/issues/9819