Coder Social home page Coder Social logo

conjoon / extjs-app-webmail Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 3.0 5.02 MB

JavaScript email client of conjoon.

Home Page: https://www.conjoon.org/docs/api/packages/@conjoon/extjs-app-webmail

License: MIT License

JavaScript 98.12% Ruby 0.01% SCSS 1.66% Shell 0.01% Smarty 0.14% HTML 0.07%
conjoon coon extjs imap javascript mail webmail

extjs-app-webmail's Introduction

conjoon

conjoon

MIT MIT

โšก lightweight, feature rich open source JavaScript email client.
๐Ÿ’… SOA with clear separation between the frontend and the backend
๐Ÿ‹ easy to install and to configure.
๐Ÿ‘จโ€๐Ÿซ well documented APIs makes it easy to extend and adopt functionality.

conjoon

Quick Start โฑ

Install Node.js and create a new conjoon site:

npx create-conjoon@latest target_folder

Follow the instructions on screen, and refer to the docs for more information on how to use create-conjoon.

Features ๐ŸŽ

The Frontend is a highly extendable and configurable JavaScript application requiring only a webserver capable of serving static files

The UI is able to manage multiple email accounts at once - no switching between instances required

The Backend is an easy to install Lumen/Laravel application

IMAP / SMTP protocol implementations for all relevant email operations

REST API documentation available as OpenAPI documentation

conjoon is released under the MIT license.

Installation

Please see the documentation at conjoon.org.

Available backends for Production

For more information on available backends and how to use them with conjoon, see our backend guide.

Staying informed ๐Ÿ“ฐ

extjs-app-webmail's People

Contributors

dependabot[bot] avatar thorstensuckow avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

extjs-app-webmail's Issues

MessageGridTest fail

... due to latest changes made to update qtip instead of title in RowFlyMenu's beforemenushow-callback.

Update all opened instances of a Draft if it's been successfully edited

Navigate to the Draft Folder and select a message. Double-click it to make sure it's also opened in a separate instance.
Click the "edit" button and open the editor.
Update various fields, including the body of the draft, then save it.

Once the save operation completes, an event should be triggered that updates all related views with the current data of the draft.

Add routing for mailfolders

Describe the solution you'd like
Users should be able to navigate to mailfolder-contents via hashbang, e.g. #cn_mail/mailfolder/[mailfolderid] should activate the InboxView, select the node in the MailFolderTree represented by the requested mailfolderid, and load the MessageGrid with its contents.

MessageDrafts / MessageItems should support message flags

MessageItems which are drafts should have the Draft-flag accordingly.

Read/Unread MessageItems should have the Unseen-flag.

Deleted, Recent... etc. flags should also be supported and set/unset depending of the action the user commits (deleting/moving to Trash Folder)

The UI should provide functionality to "flag" a message,

Add a RowFlyMenu to the MessageGrid

This should only appear on mouseover of a grid-row when the RowBody is previewed and should offer shortcuts to often needed operations, such as mark messages read/unread.

Make sure BufferedStore accepts newly created data

The BufferedStore does actually not support adding data on the fly to it.
Update the functionality so that newly created mails (i.e. Drafts, received emails during querying etc.) is added properly on the fly.

MessageView should show loadmask when opened via deeplinking

Start the application with the route for reading a message, e.g. read/5
The icon is updated in the tab header, indicating the message gets loaded, but the panel's body does not show a load indicator. The load indicator gets shown once the header was loaded and the MessageBody is fetched. The indicator should be visible during the whole load process.

Routing for composing/editing must be updated once a composer saved a message

... since the url stays the same, the route for editing this exact message must be updated to select the editor that is currently accessible via "compose".

  1. url: compose/200
  2. click "save". Message opened via url described in 1. gets id "123"
  3. url: edit/123 Instead of opening a new view for editing message "123", the routing should be adjusted so that view represented by url "compose/200" is selected and activated.

Updated MessageItem's changes are not reflected in Grid

Describe the bug
When editing a MessageDraft opened in the Editor, the MessageGrid containing this Item does not get updated when saving completed in some cases.

To Reproduce
Steps to reproduce the behavior:
MessageGrid should be sorted by Date, DESC

  1. Go to DRAFT folder, open Message for editing. Edit message, save. Do not close the Editor.
  2. Go back to the InboxView and click "delete" for the previously edited MessageItem.
  3. Go to the TRASH folder, i.e. open it. The previously deleted draft should appear on the top of the item list
  4. Go back to the Editor. Edit the Message again. Save

Expected behavior
The MessageGrid representing the contents of the TRASH folder should immediately refresh its view with the updated data of the MessageItem. However, it does not.

Add Drag & Drop to MessageEditor for attachments

Right now, attachments can only be added by clicking the "attachment" button of the HtmlEditor.
cn1
It should also be possible to drag and drop attachments to a specific drop zone of the MessageEditor.

Selecting an Item and clicking the edit-button after sorting throws error

Describe the bug
Selecting an Item in the MessageGrid, then sorting so that the previously selected record is not available in the NodeHash/rendered view anymore, leads to an issue when clicking the edit button.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the Draft folder. Select the first item
  2. Click on any column header that would cause the record to fall out of the currently rendered view.
  3. Click the edit button
  4. See error

Expected behavior
The edit button should either be disabled after sorting and the selection should be discarded in any case, or the MessageGrid should keep track of the selection which can be done via a config when working with BufferedRenderer/BufferedStore.

Desktop (please complete the following information):

  • OS: any
  • Browser: any
  • Version: any

Add action for deleting a selected message in the grid

The view should be updated with a corresponding icon in the toolbar.
Clicking this icon should check if a mail is selected in the grid. If that's the case, the selected email should be moved to the trashbin or permanently deleted. Permanently deleting a message should trigger a confirm dialog,
Until the underlying BufferedStore was updated, the deleted email should remain in the Memory, but highlighted as such, e.g. marked as deleted.
Until this deleted email remains in the view, it should be possible to recycle it, except for permanent deleted messages.

Issues with row preview in MessageGrid

  1. When the grid loads and the user wants to switch between the views, an issue is thrown.
  2. When the grid is loaded, but not visible (due to active MessageView-Tab for example) and the user switches several times between row body view enabled/disabled, an error is thrown.

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.