Giter VIP home page Giter VIP logo

cosmoz-image-viewer's People

Contributors

cristinecula avatar dependabot[bot] avatar depfu[bot] avatar dotpointer avatar jaysunsyn avatar jockeck avatar megheaiulian avatar nomego avatar plequang avatar programmer4web avatar semantic-release-bot avatar wurper avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cosmoz-image-viewer's Issues

Image Pan/zoom/swipe

Currently image viewer half-implements photoswipe directly, with template HTML in the frontend (not even present in this repo)

Photoswipe is used to let the user:

  • Overlay and view images in full screen
  • Swipe between images
  • Pinch/scroll zoom
  • Pan
  • Swipe (up) to exit zoom

Best scenario would be to have a custom own implementation or more polymer friendly component. But as a first step we might want to have a faster solution before the ui/ux decides exactly how it should work.

https://github.com/safetychanger/sc-photoswipe is probably the way to go

Depfu Error: No dependency files found

Hello,

We've tried to activate or update your repository on Depfu and couldn't find any supported dependency files. If we were to guess, we would say that this is not actually a project Depfu supports and has probably been activated by error.

Monorepos

Please note that Depfu currently only searches for your dependency files in the root folder. We do support monorepos and non-root files, but don't auto-detect them. If that's the case with this repo, please send us a quick email with the folder you want Depfu to work on and we'll set it up right away!

How to deactivate the project

  • Go to the Settings page of either your own account or the organization you've used
  • Go to "Installed Integrations"
  • Click the "Configure" button on the Depfu integration
  • Remove this repo (Neovici/cosmoz-image-viewer) from the list of accessible repos.

Please note that using the "All Repositories" setting doesn't make a lot of sense with Depfu.

If you think that this is a mistake

Please let us know by sending an email to [email protected].


This is an automated issue by Depfu. You're getting it because someone configured Depfu to automatically update dependencies on this project.

Adding print button without manually detaching image first.

Currently the print button only appears if the user detaches the image manually.

This button will do the same(detaches) but instantly give the user an print preview dialog. When the user either prints or cancels, the detached window closes.

Request for this feature comes from rm 24945.

Polymer 2 upgrade

The sooner, the better.

The dependencyFabricElements/skeleton-carousel is a Polymer 2 element. It's hybrid branch is a hybrid element which does not get maintained ...

also #33
[WIP]

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The push permission to the Git repository is required.

semantic-release cannot push the version tag to the branch master on remote Git repository with URL https://[secure]@github.com/neovici/cosmoz-image-viewer.git.

Please refer to the authentication configuration documentation to configure the Git credentials on your CI environment and make sure the repositoryUrl is configured with a valid Git URL.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

External window tests

  • Test opening/controlling external window
  • Popup-blocker tests
  • Test "taking" a window with another instance (shared)
  • Test opening a window, refreshing the page, and re-attaching to (now unknown) window
  • Make sure test coverage etc is handled for external window template script

Image viewer

The image viewer doesn't scale properly when changing the size of the web browser. The whole image doesn't fit when minimizing the size.

skeleton-carousel strategy

We currently depend on JaySunSyn/skeleton-carousel#hybrid.
Any reason why this can be PR'ed/merged upstream to FabricElements/skeleton-carousel?
What do we lack upstream?

If we need custom features that won't be merged upstream, we need to have them in a Neovici repo fork.

Download images as PDF

Currently our image download function (only present in external window) downloads a ZIP-file with PNG images.
We should:

  • Switch to jsPDF or other JavaScript-PDF library that can embed PNG-images as pages. (jsPDF has a lot more features than we need but maybe we can tree-shake it good :)
  • Enable the download both detached, overlayed and inline
    ** Note that detached might mean a separate implementation since it's in a new window/document and can't easily make use of all FE capabilities

Drop img-pan-zoom

img-pan-zoom is not actively developed and it uses the huge openseadragon for the panning and zooming.

For now, https://github.com/fabricelements/skeleton-carousel provides the swiping between images so the replacement of img-pan-zoom really just need to be supplied an image and provide:

  • [ Desktop ] - Click-to-drag panning
  • [ Desktop ] - Scroll-to-zoom
  • [ Mobile ] - Touch-move to pan
  • [ Mobile ] - Pinch-zoom

Good starting points for light-weight modern solutions might be (for inspiration or usage)

Scroll to zoom on desktop

After switching to haunted-pan-zoom, I'm unable to scroll the images with the scroll wheel, I think the user should be able to. (Even further than 100%)

Overlay -> Detached doesn't transition

When opening the image in a new window from the overlay state, the overlay should close and the inline-image should be hidden (the same way detach works when pressed on the inline image).

Shared external window

When multiple instances are used, the external window should (optionally) be reused among instances

Multiple images in external window

Currently only the active image in a list will get loaded in the external window. The whole list, along with an enhanced injected script with navigational controls, should be available in the opened window.

Changing images list might not change display

Description

When changing the images property to a new array of images, the displayed images might not be updated if the new array has the same size as the previous one.

See local demo of issue at:
http://127.0.0.1:8000/components/cosmoz-image-viewer/demo/issue-21.html
When clicking the "Change images" button, the displayed images do not change.
However, when clicking the "Next" button, the new image is displayed

I think this is because dom-repeat recycle template instances.
skeleton-caroussel uses iron-selector which uses Polymer.dom(node).observeNodes to observe child node changes. When changing the image list, if the new list has the same number of items, dom-repeat will recycle the template instances and observeNode will not observe any changes.

Misc fixes needed

  • CSS spinner / loading when images are loading (replaced/changing)
  • Transitions when switching images in detached window(?)
  • Show current + total page numbers in detached window
  • Disable prev/next in detached window when on first/last (or loop)
  • Consider putting detached window template into an actual <template>
  • Split up JS into behaviors (detached, pan-zoom?)

Automatically handle image state sync per default

We are currently using multiple instances of this component but they should share external window (when used).

We should introduce a behavior where we observe isAttached along with isVisible and call syncImageState() whenever any of them changes into a state where both are true:

Pseudo-code:

static get properties() {
  isVisible: {
    type: Boolean,
    readOnly: true
  },
  manualImageStateSync: {
    type: Boolean,
    value: false
  }
  ...
}

static get observers() {
  return [
    'autoSyncImageState(isAttached, isVisible, manualImageStateSync)'
  ];
}

...

_onResize(event) {
  this._setIsVisible(Boolean(this.offsetWidth || this.offsetHeight));
  ...
}

autoSyncImageState(isAttached, isVisible, manualImageStateSync) {
  if (isAttached && isVisible && !manualImageStateSync) {
    this.syncImageState();
  }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.