Closed Ks89 closed 3 years ago
I'll work on 8.0.0 this summer because I'm really busy.
Pushed changes with angular 8 final and initial changes to migrate to angular/cdk. It's already working, but still experimental.
Hi @Ks89, Are you progressing? Are there any points where I could help? Cheers, Daniel
Hi @chdanielmueller thank you for the comment about this topic.
At the moment I'm very busy without enough spare time and I can't work on any Github repos. However, this December I'll try to work on the next release, or at least I'll try do add many commits to speed up the development.
This Spring I implemented the logic to fix issues about angular material with angular cdk and it was working very well. Then, I improved again the code and I made tons of experiments to improve apis, during this Summer. One of the thing that I really I hate is that plain-gallery and modal-gallery are coupled. This is not good. I'm trying to split everything and give apis to add only plain-gallery or modal-gallery. So, plain-gallery will be added as usual with a component, however modal-gallery will be managed with a service.
In this way you'll be able to open modal-gallery everywhere without adding difficult customizations to the plain-gallery (question asked many times here and also privately). Also, if a user want to use plain-gallery should get automatically modal-gallery features (if I'll find a way to implement it easely).
The difficult thing is to define the right APIs. So this is the main reason why I didn't release 8.0.0 and I'm losing most of the time doing experiments on demo projects, because I don't want to do the same error made years ago about plain-gallery with modal-gallery inside. I want to think for more time than before to do the right choice.
This Winter I want to try to release the first alpha version with all apis implemented to understand if it could be ok. So basically all scenarios covered by the example on stackblitz should behave correctly.
Right now, the code of 800
branch can't receive custom configurations to the library, because I'm still defining the APIs. However, it already have angular/cdk inside.
PS: I updated the first post. Most of those points are very easy to do and they are not important right now.
If you want to help me, at the moment, the best thing to do is to try npm i --save @ks89/angular-modal-gallery version@7.3.0-rc.1
on all possible projects to understand if it's working correctly. Because, I'm using the code in 7.3.0-rc.1 to handle input parameters in version 8.0.0. So any feedbacks are really appreciated.
thanks.
To not disappear again for months, I decided to comment this issues with the important changes made on the 800 branch.
I pushed some new code that I wrote since this Autumn. Finally I found a way to split plain-gallery and modal-gallery and I updated plain-gallery examples with the new apis. Everything is still experimental with tons of bugs. Modal-gallery examples are still work in progress.
Finally, I separated modal and plain gallery. Also I defined experimental APIs trying to change only the required things to try to simplify the migration.
However, I'm still updating the main example to test all scenario.
Also, there are some issues that I'll try to fix this months.
I'm trying to speed up the development.
Enabled and re-implemented most of the examples in modal-gallery. There are some examples to re-implement and other are still broken (with red title).
I'm still restoring all examples, also changing a little bit APIs to cover all possible scenarios. I pushed some changes to fix other examples in src/ forder.
Finally, I uncommented all examples. Now I have to check every example with red title to fix bugs or implement missing features.
Upgraded to angular 9 and angular-cli 9 final
enableCloseOutside fully implemented in a very cleaner way. I hope this solution will be ok, because It caused me many headaches.
Nice to see this is moving forward! Thank you for working on this.
Huge refactoring based on a clean library project with angular-cli 9 to align the structure and apply all new best practices.
Some other big commits with:
Just some other commits to fix the other broken examples and I think I can release the first public beta. I'm happy about these new APIs so I could skip alpha releases.
Then I'll fix issues, write tests and docs. There are many things to do, but the most difficult part is finally completed...or at least I hope :)
Good news! Fixed other two examples (fixing a bug into the library code). There in only a known bug in plain gallery example (I really don't know how to fix it) and some fixes for example E3. Then I can release beta 1.
As a plus I should restore also experimental examples F1 and F2, temporarily commented.
Example E3 fixed and I removed a useless service called GalleryService.
Next I'll try to understand why example P3 (plain gallery) is not working.
¿Angular 9.1 support?
¿Angular 9.1 support?
sure, I'm already using the latest Angular package format 9.0 and it will be the same for all angular 9 releases, so It should work also right now, with current version on branch 800
.
I'll update all dependencies to build the library, before every release.
However, also version 7.x.x of the library should be ok with Angular 9.x. Did you find issues?
Fixed issue about keyboard navigation and example P3 restored!
Now I'm ready to release BETA 1. Just some days to re-check everything and I'll publish the first beta release.
PS: experimental examples in modal-gallery will be restored next. At the moment I commented everything.
DONE:
TODO:
If someone want to contribute I need to find a starter of systemjs with angular9
Add performance optimization sideEffect:false as suggested in APF9
Implemented fallback image feature as requested in issue #194 I supported every scenario in all components: carousel, modal-gallery and plain-gallery + also with aTags in plain-gallery and ie11legacymode support. Hope you like it!
In the next commit I'll implement the last optional feature (issue #179 ), because it will require api changes, so It's better to implement right now, before to release beta.1. For the same reason I implemented issue #194.
Implemented a way to hide titles via title attribute on images. For more info check this issue #179
I'm trying to upgrade angular universal example, but I'm having unexpected problems. I'm trying to understand why it throws all those errors.
I published 8.0.0-beta.1 without SSR support, at the moment. I'm still trying to fix SSR issues.
To install 8.0.0-beta.1
npm install --save @ks89/angular-modal-gallery@beta
Check this example to see how I changed APIs: https://github.com/Ks89/angular-modal-gallery/tree/develop/examples/angular-cli-9
If you need help, feel free to ask, because at the moment documentation is still not available.
I published 8.0.0-beta.2 finally with SSR support
To install 8.0.0-beta.2
npm install --save @ks89/angular-modal-gallery@beta
Check this example to see how I changed APIs: https://github.com/Ks89/angular-modal-gallery/tree/develop/examples/angular-cli-9
I also changed SystemJS example passing disableSsrWorkaround everywhere, because required since 8.0.0-beta.2 only if you want to use SystemJS.
If you need help, feel free to ask, because at the moment documentation is still not available.
Stackblitz example v8 is ready: https://stackblitz.com/edit/angular-modal-gallery-v8
Things to do:
Pushed angular-cli-10 example, but still not working. It throws a weird error about ModalGalleryService Injection. I'll investigate.
I tested the current stable version of the library with Angular 10 and it seems to be ok. 🎉
The issue above happens on 8.0.0 beta. I don't know why.
First I would like to say thanks for this awesome library! Now the things I noticed and a question for you.
Tested on 8.0.0-beta.2
CSS I noticed that adding the following to the CSS is required. Don't know if that is something you did by design.
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing.dark-backdrop {
background: #000;
opacity: 0.85 !important;
}
Next button The next button still appears clickable (cursor + selection) when you have reached the last element which is a minor styling flaw.
Navigation on image I would prefer if there were two clickable zones on the image. Right going to the next and Left going to the previous image.
Question Is it possible to declare that the download button downloads the "extUrl" or another property than "img". The reason behind this is that we show a resized image on the Webapp and allow the download of the full sized image.
@chdanielmueller Hi,
CSS yes, at the moment It's required, but I'll try to remove this requirement in the final version
Next button mmmm, totally missed this thing
Navigation on image No, I don't want to implement this thing. It's a "non standard" thing.
Question At the moment this is not possible. However, this is a very interesting proposal. Can you open a dedicated issue about this topic? In this way I can schedule it for next releases.
PS: did you try the library with angular 9 or 10? Because I still have an issue on angular 10 and I didn't find a solution.
I published 8.0.0-beta.3 with official Angular 10 support
To install 8.0.0-beta.3
npm install --save @ks89/angular-modal-gallery@beta
Check this example to see how I changed APIs: https://github.com/Ks89/angular-modal-gallery/tree/develop/examples/angular-cli-10
Full changelog here https://github.com/Ks89/angular-modal-gallery/releases/tag/v.8.0.0-beta.3
I published 8.0.0-beta.4 with new modal backdrop classes.
To upgrade from beta.3 to beta.4 change your global styles.scss from:
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing.dark-backdrop {
background: #000;
opacity: 0.85 !important;
}
.cdk-overlay-container {
z-index: 90000 !important;
}
to :
.ks-modal-gallery-backdrop {
background: #000 !important;;
opacity: 0.85 !important;;
}
.ks-modal-gallery-panel {
z-index: 90000 !important;
}
To install 8.0.0-beta.4
npm install --save @ks89/angular-modal-gallery@beta
Check this example to see how I changed APIs: https://github.com/Ks89/angular-modal-gallery/tree/develop/examples/angular-cli-10
Full changelog here https://github.com/Ks89/angular-modal-gallery/releases/tag/v.8.0.0-beta.4
All directives, utils and services covered with tests. Now I'll work on components.
Version 8.0.0-beta.5 released with Angular 11 and #213 .
npm install --save @ks89/angular-modal-gallery@beta
To upgrade from all previous 8.0.0 beta releases, change all .open(...) methods passing an object without the nested 'config' object
News:
I'll try to add some other tests before to release the next beta version.
I'm upgrading official live demos on doc website to 8.0.0. When doc website will be completed I'll publish the link here.
Documentation website is up and running here https://ks89.github.io/angular-modal-gallery-2020-v8.github.io
angular-modal-gallery 8.0.0-rc.1 will be release this weekend 👍 Spoiler: I decided to force angular 12 as minimum supported version.
npm i --save @ks89/angular-modal-gallery@beta
I'm preparing everything for the final release. I hope to release 8.0.0 final in some days ;)
8.0.0 final version is out:
npm i --save @ks89/angular-modal-gallery@latest
It requires Angular 12 with Ivy enabled.
Attention: for some reasons stackblitz fails with ivy enabled, so at the moment the live example is not perfectly working. Fell free to use this demo.
Finally, after 2 years, It's time to close this issue ;)
I want to start to think about angular-modal-gallery 8.0.0. In particular I want to create a list with some possibile features.
Changes in 8.0.0
Upgrade tests (challenging and it will require many weeks)
Rescheduled for next releases
I'll release alphas, betas and so on as always. Feel free to report feedbacks and ideas.