[jira] [Created] (IGNITE-11742) Web console: grid-showing-rows component in grids with no selection
Ilya Borisov created IGNITE-11742: - Summary: Web console: grid-showing-rows component in grids with no selection Key: IGNITE-11742 URL: https://issues.apache.org/jira/browse/IGNITE-11742 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov *The issue:* Changes to grid-showing-rows component introduced by IGNITE-9981 assume that all grid instances have selection module enabled. This is not true in some cases (see ui-grid/template.pug), which causes "can't access property of undefined" type of runtime errors. *What to do:* Handle missing selection API on grid instances in grid-showing-rows. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11717) Web console: project generation runtime error caused by IGFS
Ilya Borisov created IGNITE-11717: - Summary: Web console: project generation runtime error caused by IGFS Key: IGNITE-11717 URL: https://issues.apache.org/jira/browse/IGNITE-11717 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Vasiliy Sisko Attachments: image-2019-04-10-17-52-48-599.png *What happens:* Runtime error in console. !image-2019-04-10-17-52-48-599.png! How to reproduce: 1. Go to cluster configuration/create igfs. 2. Choose "Caching" FS factory. 3. Choose "Chained" user name mapper. 4. Open new mapper sub form, choose custom. 5. Change FS factory a couple of time, change it back to "Caching". 6. Do the same with with "Name mapper" select, change it back to "Custom". 7. If the error does not happen, play around by changing other select values. *Expected behavior:* Run time error should not happen. This happens in master. [~vsisko] I think you should look into why `bean` is `null` or handle this case gracefully. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11716) Web console: can't select cluster memory eviction mode
Ilya Borisov created IGNITE-11716: - Summary: Web console: can't select cluster memory eviction mode Key: IGNITE-11716 URL: https://issues.apache.org/jira/browse/IGNITE-11716 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2019-04-10-17-02-17-310.png What happens: Memory eviction mode select has no options to choose from and there's an error in console. !image-2019-04-10-17-02-17-310.png! Expected behavior: The error should not happen, user should be able to select eviction mode. Note: select configuration version 2.1 to see "memory" section in advanced cluster configuration. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11714) Web console: multiple select items overflow
Ilya Borisov created IGNITE-11714: - Summary: Web console: multiple select items overflow Key: IGNITE-11714 URL: https://issues.apache.org/jira/browse/IGNITE-11714 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2019-04-10-16-00-55-734.png *What happens:* !image-2019-04-10-16-00-55-734.png! *Expected behavior:* Overflow is handled gracefully, value is contained in control. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11713) Web console: cluster configuration events content fit issue
Ilya Borisov created IGNITE-11713: - Summary: Web console: cluster configuration events content fit issue Key: IGNITE-11713 URL: https://issues.apache.org/jira/browse/IGNITE-11713 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Vasiliy Sisko Attachments: image-2019-04-10-15-46-39-859.png *What happens:* In master, cluster configuration (2.8) / events / local events listeners individual event listnered item sub form controls don't fit well when viewport width is under 1420px: !image-2019-04-10-15-46-39-859.png! Expected behavior: Form controls should be laid out such they look don't overflow/wrap. As a solution, I propose to put each control into separate row. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11711) Web console: MS SQL server missing JDBC download link
Ilya Borisov created IGNITE-11711: - Summary: Web console: MS SQL server missing JDBC download link Key: IGNITE-11711 URL: https://issues.apache.org/jira/browse/IGNITE-11711 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Vasiliy Sisko Attachments: image-2019-04-10-12-54-22-561.png What happens: In configuration / advanced / caches / store if user selects "JDBC Pojo store factory" and "MS SQL Server" dialect, a link labeled "Download JDBC drivers?" is displayed. When "oracle" or "IBM" dialects are selected, the link leads to a proper download page, while "MS" dialect link leads nowhere. !image-2019-04-10-12-54-22-561.png! Expected behavior: If there is a download page for MS JDBC driver, add it's URL to JDBC_LINKS provider. If there's none, maybe don't show the link or show appropriate plain text? The issue was reproduced in master. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11645) Web console: failing signup e2e test
Ilya Borisov created IGNITE-11645: - Summary: Web console: failing signup e2e test Key: IGNITE-11645 URL: https://issues.apache.org/jira/browse/IGNITE-11645 Project: Ignite Issue Type: Test Reporter: Ilya Borisov Assignee: Ilya Borisov Server validiation on signup e2e assertion fails: |nAssertionError: Shows global error: expected false to be truthy > 39 |.expect(errorNotification.withText('A user with the given > username is already registered').exists).ok('Shows global error') -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11497) Web console: index.html is cached
Ilya Borisov created IGNITE-11497: - Summary: Web console: index.html is cached Key: IGNITE-11497 URL: https://issues.apache.org/jira/browse/IGNITE-11497 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Some users, including [~pkonstantinov], reported cache-related issues for a long while. According to [this article|https://blog.cronobo.com/2018/03/17/how-to-configure-caching-with-single-page-apps.html], it might have to do with index.html caching, so let's disabled caching for this particular file. What to do: Disable index.html caching. Acceptance criteria: With "disable cache" option turned off in web inspector, index.html should always be loaded from server. Here's a convoluted scenario: 1. Build docker image of web console 2. Open a tab (A), open web inspector on network tab, ensure caching is enabled, go to web console. 3. Build the image again. 4. Open another tab (B), open web inspector on network tab, ensure caching is not disabled, go to web console; index.html should not reported cache usage, js/css assets should have file names different from same files in inspector of browser tab A. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11376) Web console: frontend cold build speed improvements
Ilya Borisov created IGNITE-11376: - Summary: Web console: frontend cold build speed improvements Key: IGNITE-11376 URL: https://issues.apache.org/jira/browse/IGNITE-11376 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov *The issue:* Frontend cold build takes considerable time to build (~46s on my machine), which is rather annoying. *What to do:* 1. Try both of these Webpack plugins and benchmark cold build results: https://github.com/amireh/happypack https://github.com/webpack-contrib/thread-loader 2. If we deem build time reduction considerable enough and no additional issues arise (like loader compatibility), add either of plugins to web console Webpack configuration. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11374) Web console: fix frontend audit issues
Ilya Borisov created IGNITE-11374: - Summary: Web console: fix frontend audit issues Key: IGNITE-11374 URL: https://issues.apache.org/jira/browse/IGNITE-11374 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The issue: npm audit outputs several vulnerabilities in frontend dependencies, mostly related to unit tests. What to do: Install packages suggested by `npm audit`. Ensure no regressions happen (anything besides unit tests?). It might be necessary to add package-lock.json. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11353) Web console: responses with status 401 do not redirect to signin page
Ilya Borisov created IGNITE-11353: - Summary: Web console: responses with status 401 do not redirect to signin page Key: IGNITE-11353 URL: https://issues.apache.org/jira/browse/IGNITE-11353 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov What happens: On page reload, when backend API responds with status of 401, the app is stuck on "loading" screen and does not redirect to signin screen. What should happen: The app should redirect to signin screen when 401 happens (except for a few exceptions). How to reproduce: 1. Sign in. 2. Kill user session in db. 3. Reload the page. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11318) Web console: add viewport meta tag
Ilya Borisov created IGNITE-11318: - Summary: Web console: add viewport meta tag Key: IGNITE-11318 URL: https://issues.apache.org/jira/browse/IGNITE-11318 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Web console does not scale automatically on mobile devices, so I propose to add [viewport meta tag|https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11114) Web console: add onhover state to the icons in the left menu
Ilya Borisov created IGNITE-4: - Summary: Web console: add onhover state to the icons in the left menu Key: IGNITE-4 URL: https://issues.apache.org/jira/browse/IGNITE-4 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Ilya Borisov Add hover state (red icon color) to icons in the left menu, like the "Contact" link. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11098) Web console: font cleanup
Ilya Borisov created IGNITE-11098: - Summary: Web console: font cleanup Key: IGNITE-11098 URL: https://issues.apache.org/jira/browse/IGNITE-11098 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Ilya Borisov Web console font should be set in a single place and should not be hardcoded into SCSS. Places to check: 1. SCSS variables passed into Bootstrap. 2. Component styles that explicitly use Roboto font (they should not). 3. Font preload meta tags. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11034) Web console: update some dependencies
Ilya Borisov created IGNITE-11034: - Summary: Web console: update some dependencies Key: IGNITE-11034 URL: https://issues.apache.org/jira/browse/IGNITE-11034 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin We need to update: 1. AngularJS to latest 1.7 release (1.7.6) in order to support lazy module loading. 2. typescript-eslint-parser has been deprecated in a favor of it's fork, see details [here|https://eslint.org/blog/2019/01/future-typescript-eslint]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10965) Web console: in progress state for buttons
Ilya Borisov created IGNITE-10965: - Summary: Web console: in progress state for buttons Key: IGNITE-10965 URL: https://issues.apache.org/jira/browse/IGNITE-10965 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Vica Abramova *The problem:* Some actions triggered by user might take awhile, during which user can click on action button multiple times and, depending on internal details, cause unwanted side effects (like registering multiple users instead of one). *Solution:* Disable action button when action is running. Tell user to wait that something is happening. This can be integrated into special button state. Places new button state can be used in: - User registration. I'd rather prefer that new button state would: - Not affect button dimensions because sudden button size change might look uncanny. Overlays are OK, though. This probably rules out spinning indicator inline with button label. - Not hide original button label so.user always knows what's in progress. - Work for all button styles. Unique background for each button type is not OK, same background or overlay is OK. This will simplify the implementation. The requirements above are not set in stone, every point is open for discussion. [~vabramova] to provide design, [~Klaster_1] or [~alexdel] to implement. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10961) Web console: add more countries
Ilya Borisov created IGNITE-10961: - Summary: Web console: add more countries Key: IGNITE-10961 URL: https://issues.apache.org/jira/browse/IGNITE-10961 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Countries to add: * Taiwan * Hong Kong * Singapore -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10890) Web console: UIRouter cleanup
Ilya Borisov created IGNITE-10890: - Summary: Web console: UIRouter cleanup Key: IGNITE-10890 URL: https://issues.apache.org/jira/browse/IGNITE-10890 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Alexander Kalinin 1. Do not depend on _@uirouter/angularjs/lib/legacy/stateEvents_, replace all legacy $scope events with transition-based API. 2. Remove _@uirouter/visualizer_, which is only used for development. The goal is to decrease bundle size and drop legacy APIs. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10735) Web console: use rxjs EMPTY instead of empty
Ilya Borisov created IGNITE-10735: - Summary: Web console: use rxjs EMPTY instead of empty Key: IGNITE-10735 URL: https://issues.apache.org/jira/browse/IGNITE-10735 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov RxJS 6 [has deprecated|https://rxjs-dev.firebaseapp.com/api/index/function/empty] empty, EMPTY constant should be used instead, so let's do that. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10726) Web console: error in console after configuration import
Ilya Borisov created IGNITE-10726: - Summary: Web console: error in console after configuration import Key: IGNITE-10726 URL: https://issues.apache.org/jira/browse/IGNITE-10726 Project: Ignite Issue Type: Bug Components: UI, wizards Reporter: Ilya Borisov Assignee: Vasiliy Sisko Attachments: the error.png What happens: AngularJS error is thrown when switching between configuration domain models. How to reproduce: 1. Start demo mode, launch web agent. 2. Go to configuration and perform DB import once. 3. Open the result configuration domain models section. 4. Import from in place DB, choose to overwrite domain models. 5. Switch between several domain models. The issue does not persist after page reload, this looks like faulty caching. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10489) Web console: validation messages are shown twice in configuration
Ilya Borisov created IGNITE-10489: - Summary: Web console: validation messages are shown twice in configuration Key: IGNITE-10489 URL: https://issues.apache.org/jira/browse/IGNITE-10489 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2018-11-30-14-59-19-188.png What happens: When validation is triggered for any form in configuration, _two_ validation messages are shown simultaneously: one under the input and another in tooltip. !image-2018-11-30-14-59-19-188.png! What should happen: Tooltip-style validation messages should not be visible on configuration screens. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10486) Web console: wrong custom validation messages priority
Ilya Borisov created IGNITE-10486: - Summary: Web console: wrong custom validation messages priority Key: IGNITE-10486 URL: https://issues.apache.org/jira/browse/IGNITE-10486 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin What happens: After IGNITE-9946 custom validation messages no longer override default messages. What should happen: Custom validation messages should override default messages. Issues fixed by IGNITE-9946 should remain fixed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10318) Web console: use newer panels in query notebook screen
Ilya Borisov created IGNITE-10318: - Summary: Web console: use newer panels in query notebook screen Key: IGNITE-10318 URL: https://issues.apache.org/jira/browse/IGNITE-10318 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov "Queries notebook" screen is the last place where older style of collapsible panels has remain in use. What to do: 1. Replace panels on "queries notebook" screen with panel-collapsible component. 2. Update query rename feature to use "Rename" button and new name prompt instead on inline form. 3. Move query remove button to context menu in panel actions. 4. Move "Execute", "Execute on selected node", "Explain" and "Scan" button to panel actions. All actions, except for "Execute" and "Scan", should be in context menu. 5. Remove legacy code used in older style collapsible panels. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9879) Web console: split major features to modules - configuration
Ilya Borisov created IGNITE-9879: Summary: Web console: split major features to modules - configuration Key: IGNITE-9879 URL: https://issues.apache.org/jira/browse/IGNITE-9879 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The issue: 1. _app.js_ is massive, hard to maintain and often a source of various merge conflicts. 2. Even if some code is de facto separated by feature (configuration/queries/admin/profile), no agreement was made on how to structure directories, which leads to confusion and app.js growth. I propose to: 1. Reorganize source code file structure: {noformat} frontend app configuration queries profile admin common {noformat} 2. Slim _app.js_ down to something like this: {noformat} import common from './common' import configuration from './configuration' import queries from './queries' import profile from './profile' import admin from './admin' export default angular.module('ignite-console', [ common.name, configuration.name, queries.name, profile.name, admin.name ]) {noformat} Each directory inside app will follow the same module structure as agreed upon before (i.e. components/services/filters, etc). 3. In order to test water, update the configuration module first and if everything goes as expect proceed with other modules. [~kuaw26], [~anovikov] what do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9846) Web console: allow to $inject before function definition
Ilya Borisov created IGNITE-9846: Summary: Web console: allow to $inject before function definition Key: IGNITE-9846 URL: https://issues.apache.org/jira/browse/IGNITE-9846 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Andrey Novikov The issue: DI $inject property can't be set before function definition because of ESLint rules. This makes code harder to maintain and more error-prone. What to do: Loosen ESLint appropriate rules (probably no-use-before-define). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9820) Web console: unit test sourcemaps
Ilya Borisov created IGNITE-9820: Summary: Web console: unit test sourcemaps Key: IGNITE-9820 URL: https://issues.apache.org/jira/browse/IGNITE-9820 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Debugging unit tests without sourcemaps is cumbersome, so let's fix this. I've already tried [karma-sourcemap-loader|https://www.npmjs.com/package/karma-sourcemap-loader] and [this|https://stackoverflow.com/a/39175635/333777], but without success. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9799) Web console: remove unused code
Ilya Borisov created IGNITE-9799: Summary: Web console: remove unused code Key: IGNITE-9799 URL: https://issues.apache.org/jira/browse/IGNITE-9799 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin There's a bunch of legacy/unused code and dependencies, let's remove those. Here's an incomplete list, feel free to add more items: 1. angular-cookies dependency -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9680) Web console: add component for status output
Ilya Borisov created IGNITE-9680: Summary: Web console: add component for status output Key: IGNITE-9680 URL: https://issues.apache.org/jira/browse/IGNITE-9680 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Create a component that output status: 1. It should accept a list of possible statuses as an argument, each item should specify label to display, model value, color (red, green or regular) and whether to show an inline spinner or not. 2. It should also accept status value as an argument. 3. Given that same the status might be displayed in various places, provide a way to omit repeating lengthy statuses list argument. Maybe a component factory that binds statuses to a new component? Use the new component in: 1. Connected clusters dialog. Remove the _ignite-status_ component. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9609) Web console: update to AngularJS 1.7.4
Ilya Borisov created IGNITE-9609: Summary: Web console: update to AngularJS 1.7.4 Key: IGNITE-9609 URL: https://issues.apache.org/jira/browse/IGNITE-9609 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Let's update package-.json to use AngularJS 1.7.4, the 1.7.3 release introduced some interesting new feature we might use (like extra form methods and arbitrary event/property bindings). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9596) Web console: invisible checkbox is visible
Ilya Borisov created IGNITE-9596: Summary: Web console: invisible checkbox is visible Key: IGNITE-9596 URL: https://issues.apache.org/jira/browse/IGNITE-9596 Project: Ignite Issue Type: Bug Components: wizards Environment: Firefox, Chrome (macOS), Safari Reporter: Ilya Borisov Assignee: Alexander Kalinin Attachments: image-2018-09-14-10-58-23-054.png How it looks: !image-2018-09-14-10-58-23-054.png! How to reproduce: 1. Connect to a cluster 2. Open queries 3. Click "+Add scan" -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9595) Web console: invisible checkbox is visible inqueries
Ilya Borisov created IGNITE-9595: Summary: Web console: invisible checkbox is visible inqueries Key: IGNITE-9595 URL: https://issues.apache.org/jira/browse/IGNITE-9595 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin How to reproduce: 1. Connect to a cluster 2. Go to queries 3. Click on "+Add scan" -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9572) Web console: broken in Edge 17
Ilya Borisov created IGNITE-9572: Summary: Web console: broken in Edge 17 Key: IGNITE-9572 URL: https://issues.apache.org/jira/browse/IGNITE-9572 Project: Ignite Issue Type: Bug Reporter: Ilya Borisov Assignee: Ilya Borisov What happens: Edge 17 throws "{{Error: Expected ':'" and the web console does not work at all.}} {{What to do:}} {{1. Investigate why this happens.}} {{2. Fix the issue.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9569) Web console: use $inject for DI instead of arrays
Ilya Borisov created IGNITE-9569: Summary: Web console: use $inject for DI instead of arrays Key: IGNITE-9569 URL: https://issues.apache.org/jira/browse/IGNITE-9569 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov To do: 1. Remove provider registration by array spread, like this: {code:java} .service(...serviceArray){code} Instead, use the canonical AngularJS approach: {code:java} .service('SeriveName', Service){code} 2. Do not use array Di syntax for exported symbols: {code:java} export ['IgniteVersion', 'Confirm', function directive (version, confirm){}]{code} Instead, use $inject property: {code:java} export function directive(version, confirm) {} directive.$inject = ['IgniteVersion', 'Confirm']{code} Motivation: The changes above will make older providers accessible to TypeScript, which in turn will allow to increase type coverage. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9556) Web console: Babel 7 rc.2 compatibility issues
Ilya Borisov created IGNITE-9556: Summary: Web console: Babel 7 rc.2 compatibility issues Key: IGNITE-9556 URL: https://issues.apache.org/jira/browse/IGNITE-9556 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Bebel 7 rc.2 causes at least one breaking issue: AngularJS-module-related run time error happens when built for production target. !screenshot-1.png! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9552) Web console: add TypeScript support
Ilya Borisov created IGNITE-9552: Summary: Web console: add TypeScript support Key: IGNITE-9552 URL: https://issues.apache.org/jira/browse/IGNITE-9552 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov What to do: 1. Add TypeScript plugin to babel config. 2. Update webpack configs to load .ts files with babel-loader. 3. Make sure eslint lint .ts files. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9476) Web console: extract configuration-specific mixins from mixins.pug
Ilya Borisov created IGNITE-9476: Summary: Web console: extract configuration-specific mixins from mixins.pug Key: IGNITE-9476 URL: https://issues.apache.org/jira/browse/IGNITE-9476 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin Most of form field Pug mixins used in configuration are very specific to it and are not used elsewhere. The _mixins.pug_ that these currently reside in is too big for my liking. I suggest to move all configuration mixins to configuration module (for example, _page-configure/mixins.pug_), with the following benefits: # All code specific to configuration will stay in configuration module. # mixins.pug will become easier to maintain. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9469) Web console: form field labels don't support expressions
Ilya Borisov created IGNITE-9469: Summary: Web console: form field labels don't support expressions Key: IGNITE-9469 URL: https://issues.apache.org/jira/browse/IGNITE-9469 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin *What happens:* When you use AngularJS expession (i.e. _{\{ "justAString" }}_ ) as a _label_ of _form-field__number_ Pug mixin, error messages expression breaks because mixin code cuts last curly bracket off the expression. *What should happen:* _form-field__number_ and other form mixins should support AngularJS expressions as label and not cause any errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9450) Web console: remove manual rendering from ignite-icon directive
Ilya Borisov created IGNITE-9450: Summary: Web console: remove manual rendering from ignite-icon directive Key: IGNITE-9450 URL: https://issues.apache.org/jira/browse/IGNITE-9450 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Ilya Borisov When making the ignite-icon directive, I had to manually render SVGs because at that moment we had to support IE11 and it doesn't support SVG directive template namespace. Since IE11 support has been dropped, we can safely use regular AngularJS template there and clean the code a bit. I think this change will also fix invisible icons in TestCafe E2E tests. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9339) Web console: form-field-size improvements
Ilya Borisov created IGNITE-9339: Summary: Web console: form-field-size improvements Key: IGNITE-9339 URL: https://issues.apache.org/jira/browse/IGNITE-9339 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Dmitriy Shabalin I think there some changes due for {{form-field-size}} component: 1. [~pkonstantinov] expressed his confusion multiple times about the fact that {{form-field-size}} converts visible value when user changes scale. He suggests to keep the view value the same and only scale the model value. 2. It wasn't the case at the moment {{form-field-size}} was added, but now some form fields use different default scale (i.e. it's bytes vs megabytes). [~Dmitriyff] introduced redundant "time" scale in IGNITE-9286, surely we can figure out a better component API for cases like this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9306) Web console: validation message change causes height jumps
Ilya Borisov created IGNITE-9306: Summary: Web console: validation message change causes height jumps Key: IGNITE-9306 URL: https://issues.apache.org/jira/browse/IGNITE-9306 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov When field validation errors change one to another, the field height jumps up and down minutely. I think this is another case of ngAnimate causing trouble, so I'd first try to put an animation disabling class on error message element in attempt to solve the issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9190) Web console: align babel-env and "unsupported browsers" browser list
Ilya Borisov created IGNITE-9190: Summary: Web console: align babel-env and "unsupported browsers" browser list Key: IGNITE-9190 URL: https://issues.apache.org/jira/browse/IGNITE-9190 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov IGNITE-9028 introduced a set of supported browsers because that's how babel-env works and these versions are different from what's used in browser-update config. I suggest to alias browser versions between babel-env and browser-update. Unfortunately, browser-update does not support [browserlist|https://github.com/browserslist/browserslist] notation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9028) Web console: update to Babel 7
Ilya Borisov created IGNITE-9028: Summary: Web console: update to Babel 7 Key: IGNITE-9028 URL: https://issues.apache.org/jira/browse/IGNITE-9028 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov While Babel 7 is still in beta, I think it might be a good idea to update a beta version of major dependency once in a while. It will be released soon enough, so even if any issues occur we'll most like be able to iron those out. As a benefit, Babel 7 will also provide an easy TypeScript migration path. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9027) Web console: "Tried to load angular more than once" in unit tests
Ilya Borisov created IGNITE-9027: Summary: Web console: "Tried to load angular more than once" in unit tests Key: IGNITE-9027 URL: https://issues.apache.org/jira/browse/IGNITE-9027 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2018-07-18-10-30-55-424.png, image-2018-07-18-10-31-13-453.png When running unit tests, several such warnings happen in a row: !image-2018-07-18-10-31-13-453.png! Fix whatever causes the issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8959) Web console: agent manager modal throws an error
Ilya Borisov created IGNITE-8959: Summary: Web console: agent manager modal throws an error Key: IGNITE-8959 URL: https://issues.apache.org/jira/browse/IGNITE-8959 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2018-07-09-15-28-36-946.png How to reproduce: 1. Stop agent manager if running. 2. Go to queries, reload the page. 3. Open a notebook. 4. Click "Leave notebooks". 5. Navigate back. 6. Open a notebook and click "leave" again. !image-2018-07-09-15-28-36-946.png! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8958) Web console: upgrade to AngularJS 1.7
Ilya Borisov created IGNITE-8958: Summary: Web console: upgrade to AngularJS 1.7 Key: IGNITE-8958 URL: https://issues.apache.org/jira/browse/IGNITE-8958 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov AngularJS 1.7 provides more features that will improve migration to Angular, so let's update and fix any issues that will probably occur along the way. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8805) Web console: use TypeScript for E2E tests
Ilya Borisov created IGNITE-8805: Summary: Web console: use TypeScript for E2E tests Key: IGNITE-8805 URL: https://issues.apache.org/jira/browse/IGNITE-8805 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin TestCafe [provides TypeScript support out of the box|http://devexpress.github.io/testcafe/documentation/test-api/typescript-support.html]. Writing E2E fixtures in TS will be a good stepping stone towards TS migration, so I suggest to investigate how this will work out with our setup and, if no major issues occur, convert current set of fixtures to TS. Who knows, it might be as easy as renaming the files. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8779) Web console: simplify E2E test runner
Ilya Borisov created IGNITE-8779: Summary: Web console: simplify E2E test runner Key: IGNITE-8779 URL: https://issues.apache.org/jira/browse/IGNITE-8779 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin The way we run E2E tests now significantly overlaps with a runner provided by TestCafe CLI. This happens because: # Ignite TestCafe runner uses environment variables to pass parameters. # A need to start custom backend environment. I think we can do better, the optimized result might look like a simple npm script: {{ concurrently "npm run env" "testcafe --runner=teamcity" }} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8613) Web console: investigate E2E tests on Node.js 10
Ilya Borisov created IGNITE-8613: Summary: Web console: investigate E2E tests on Node.js 10 Key: IGNITE-8613 URL: https://issues.apache.org/jira/browse/IGNITE-8613 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Andrey Novikov Web console E2E tests fail spontaneously when run under Node.js 10. We should investigate what causes it: Testcafe incompatibility or something in the web console code. If new, compatible version of Testcafe becomes available, let's update to it as a part of this issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8504) Web console: minor update webpack tweaks
Ilya Borisov created IGNITE-8504: Summary: Web console: minor update webpack tweaks Key: IGNITE-8504 URL: https://issues.apache.org/jira/browse/IGNITE-8504 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Ilya Borisov In order to support Node.js 10, I suggest to update node-sass package. Also, we can update webpack and drop transpilation of webpack config files. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8370) Web console: split page-signin into three separate pages
Ilya Borisov created IGNITE-8370: Summary: Web console: split page-signin into three separate pages Key: IGNITE-8370 URL: https://issues.apache.org/jira/browse/IGNITE-8370 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Currently, the page-signin component solves three separate cases: user registration, sign in and password restore. Since none of those features has to be on the same page, let's split those to separate pages. What to do: 1. Split signup, signin and forgot password features to separate components and pages. 2. While at it, add an optional "Phone" input to signup page in order to match inputs available on user profile page. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8336) Web console: fix failing E2E notebooks test
Ilya Borisov created IGNITE-8336: Summary: Web console: fix failing E2E notebooks test Key: IGNITE-8336 URL: https://issues.apache.org/jira/browse/IGNITE-8336 Project: Ignite Issue Type: Test Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin Attachments: image-2018-04-20-16-27-36-653.png, image-2018-04-20-16-31-46-185.png The all notebooks removal E2E test fails in master branch: !image-2018-04-20-16-27-36-653.png! At the same time, there's an UI regression of row selection column: !image-2018-04-20-16-31-46-185.png! I think those two are related and test fails because the code that clicks "select all rows" checkbox can't work around the regression. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8334) Web console: add ability to show/hide password field value
Ilya Borisov created IGNITE-8334: Summary: Web console: add ability to show/hide password field value Key: IGNITE-8334 URL: https://issues.apache.org/jira/browse/IGNITE-8334 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: eye-icon-close.svg, eye-icon-open.svg The ability to toggle password inputs value visibility will improve the UX of several forms. Since most of password inputs are located on sign-in and profile pages, for now it'll be enough to update inputs used on these pages only. The button should: 1. Has opened eye icon when password value is visible. 2. Has closed eye icon when password value is hidden (i.e. default dots). 3. Be placed at the right side of the input and to the right of validation error message. That means that error message will be place a bit more to the left compared to text inputs. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8314) Web console: add a new type of reusable loading indicator
Ilya Borisov created IGNITE-8314: Summary: Web console: add a new type of reusable loading indicator Key: IGNITE-8314 URL: https://issues.apache.org/jira/browse/IGNITE-8314 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The thin red line under the header of newer-style table was supposed to be a loading progress indicator. The component that implements the line progress indicator should: 1. Support finished (100%) and indeterminate states. The in-between state can be added later. 2. Indeterminate state should have an animation. 3. Look like a 1px high red line in finished state. The implementation might look something like this: {code} Indeterminate: Complete: {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8306) Web console: grid UI regression
Ilya Borisov created IGNITE-8306: Summary: Web console: grid UI regression Key: IGNITE-8306 URL: https://issues.apache.org/jira/browse/IGNITE-8306 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Dmitriy Shabalin Attachments: image-2018-04-18-12-23-44-129.png, image-2018-04-18-12-24-20-991.png *How to reproduce:* 1. Go to admin panel. 2. Click on "all" in columns dropdown twice to hide all columns. 3. Enable "Last login" column. *What happens:* Column headers of "User" and "Last login" have different height, the rows are misaligned. !image-2018-04-18-12-23-44-129.png! *What should happen:* Column headers should have the same height, rows should not become offset relative to other columns. !image-2018-04-18-12-24-20-991.png! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8294) Web console: make "Beta" ribbon less obtrusive
Ilya Borisov created IGNITE-8294: Summary: Web console: make "Beta" ribbon less obtrusive Key: IGNITE-8294 URL: https://issues.apache.org/jira/browse/IGNITE-8294 Project: Ignite Issue Type: Improvement Reporter: Ilya Borisov Assignee: Ilya Borisov As of now, the ribbon obstructs important controls underneath it, especially connected clusters user menu. Something has to be done with this issue, but the ribbon should remain in some form or another. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8287) Web console: place sign up inputs in two columns
Ilya Borisov created IGNITE-8287: Summary: Web console: place sign up inputs in two columns Key: IGNITE-8287 URL: https://issues.apache.org/jira/browse/IGNITE-8287 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The sign up page controls take a lot of vertical space, let's put some of these side by side, like on configuration and user profile pages. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8285) Web console: debug log not removed
Ilya Borisov created IGNITE-8285: Summary: Web console: debug log not removed Key: IGNITE-8285 URL: https://issues.apache.org/jira/browse/IGNITE-8285 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov *How to reproduce:* 1. Open new cluster creation form. 2. Kill the backend. 3. Click "Save". *What happens:* "UNDOED {type: "APPLY_ACTIONS_UNDO", state: {…}}" is logged to browser console. *What should happen:* Nothing should get logged. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8267) Web console: cluster client connector configuration fields are too narrow
Ilya Borisov created IGNITE-8267: Summary: Web console: cluster client connector configuration fields are too narrow Key: IGNITE-8267 URL: https://issues.apache.org/jira/browse/IGNITE-8267 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2018-04-16-11-31-15-136.png *How to reproduce:* 1. Go to advanced cluster configuration. 2. Open "client connector configuration" section. *What happens:* "Socket send buffer size" and "Socket receive buffer size" field labels wrap to second line. !image-2018-04-16-11-31-15-136.png! *What should happen:* "Socket send buffer size" and "Socket receive buffer size" field labels should be on a single line. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8234) Web console: refactor inputs
Ilya Borisov created IGNITE-8234: Summary: Web console: refactor inputs Key: IGNITE-8234 URL: https://issues.apache.org/jira/browse/IGNITE-8234 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Dmitriy Shabalin Inputs are getting out of hand, we need to do some housekeeping: 1. Converge and simplify SCSS for inputs with both styles of error message (text vs icon). 2. Converge and remove duplicate input mixins. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8096) Web console: add ability to clone cluster configuration entities
Ilya Borisov created IGNITE-8096: Summary: Web console: add ability to clone cluster configuration entities Key: IGNITE-8096 URL: https://issues.apache.org/jira/browse/IGNITE-8096 Project: Ignite Issue Type: New Feature Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov New configuration introduced by IGNITE-5466 lacks a way to clone cluster configuration child entities (caches, igfss and domain models). *What to do:* Implement cluster config entity cloning mechanism. It might be a single (or multiple) items table context action, which creates new entities under the hood using a default unique name generator function, sends one or multiple requests to the backend and shows an error notification if something goes wrong. *Potential issues:* 1. Nested reference IDs and what to do with them. 2. If user decides to clone current edited item, can unsaved changes trigger any unwanted behavior? 3. One vs multiple items to clone at the same time. *Additional ideas:* 1. Clone the item specified amount of times. Useful when user needs 10 caches with similar configuration. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8094) Web console: investigate/fix broken E2E test for basic editing
Ilya Borisov created IGNITE-8094: Summary: Web console: investigate/fix broken E2E test for basic editing Key: IGNITE-8094 URL: https://issues.apache.org/jira/browse/IGNITE-8094 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The "Basic editing" E2E test fails if you use {{save}} page model method instead of {{saveWithoutDownload}}. I suspect it might be another case of incompatibility between some of directives (it was {{on-focus-out}} before) and TestCafe overlays. If fixed, restore {{saveWithoutDownload}} call back to {{save}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7996) Web console: move cluster configuration form templates
Ilya Borisov created IGNITE-7996: Summary: Web console: move cluster configuration form templates Key: IGNITE-7996 URL: https://issues.apache.org/jira/browse/IGNITE-7996 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov The IGNITE-5466 introduced individual components for each of cluster configuration forms, but template files were left in the same place to decrease incoming changes merge conflicts during development time. When IGNITE-5466 gets merged into master, it should be safe to move all the templates into component directories. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7994) Web console: remove _auth method from frontend Auth service
Ilya Borisov created IGNITE-7994: Summary: Web console: remove _auth method from frontend Auth service Key: IGNITE-7994 URL: https://issues.apache.org/jira/browse/IGNITE-7994 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov The current implementation uses a single method to call various backend API endpoints, which is sub-optimal. I've added proper separate methods to the service during IGNITE-7949, but these still use `_auth` under the hood. The `_auth` method should be removed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7894) Web console: extract new design collapsible panels into component
Ilya Borisov created IGNITE-7894: Summary: Web console: extract new design collapsible panels into component Key: IGNITE-7894 URL: https://issues.apache.org/jira/browse/IGNITE-7894 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Attachments: image-2018-03-07-10-39-32-857.png, image-2018-03-07-10-42-01-013.png, image-2018-03-07-10-42-44-368.png Collapsible panels in new design still don't have a reusable component that encapsulates it's behavior and styles. Where such panels are/will be used: 1. Redesigned cluster configuration forms. !image-2018-03-07-10-42-44-368.png! 2. Current user profile. !image-2018-03-07-10-42-01-013.png! 3. Upcoming queries screen redesign. !image-2018-03-07-10-39-32-857.png! New component should: 1. Have bindings for opened state and opened/closed events. 2. Have a way to insert buttons to the right of header. Make sure that there are no leftover unused styles/code left. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7840) Web console: improve success notification for "import from database" config action
Ilya Borisov created IGNITE-7840: Summary: Web console: improve success notification for "import from database" config action Key: IGNITE-7840 URL: https://issues.apache.org/jira/browse/IGNITE-7840 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Import from DB does not have it's own success notification, the actual message is by "cache saved" effect. Let's implement a notification specific to DB import. The message might say something like {{Imported from DB: 5 models and 3 caches}} or {{Imported from DB into "Cluster1": 1 model}} depending on operation context. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7839) Web console: validation messages on config pages sometimes blink at the same time
Ilya Borisov created IGNITE-7839: Summary: Web console: validation messages on config pages sometimes blink at the same time Key: IGNITE-7839 URL: https://issues.apache.org/jira/browse/IGNITE-7839 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov *What happens:* Multiple validation error messages in nested {{list-editable}} forms sometimes blink simultaneously on form submit. The forms in question are available only on domain model configuration screen. *How to reproduce:* No solid scenarios yet, play around in domain model config form to hopefully reproduce the issue. *What to do:* Investigate and fix the issue. It probably has to do with {{$showValidationError}} $scope event triggered by {{triggerValidation}} method of {{FormUtils}} service. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7837) Web console: list-editable new item button behaves incorrectly
Ilya Borisov created IGNITE-7837: Summary: Web console: list-editable new item button behaves incorrectly Key: IGNITE-7837 URL: https://issues.apache.org/jira/browse/IGNITE-7837 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov *How to reproduce:* # Open advanced configuration, domain model editing. # Open query section, add one alias, click elsewhere. # Click on added alias to enter edit mode again. # Click on "Add new alias to query". *What happens:* First alias edit form closes, but new alias is not added. *What should happen:* First alias edit form should close, another (second) alias should be added, second alias should be in edit mode. *Notes:* I did some research on the issue, the possible cause of the issue lies either in {{on-focus-out directive}} (used inside {{list-editable}}) or {{list-editable}} directive, or both. If the {{delete this._cache[idx]}} expression in {{stopEditView}} method of {{list-editable}} component controller is wrapped with a {{$timeout(..., 150)}} everything works as expected, except that 150ms of added delay makes UX perceptibly worse. *What to do:* Investigate the cause of the issue described above and fix the incorrect behavior, preferably not the way described in notes section. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7810) Web console: replace Roboto slab font with Roboto regular
Ilya Borisov created IGNITE-7810: Summary: Web console: replace Roboto slab font with Roboto regular Key: IGNITE-7810 URL: https://issues.apache.org/jira/browse/IGNITE-7810 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Since the Roboto slab font is considered deprecated, it should be replaced with Roboto regular. What to do: 1. Replace global font on with Roboto. 2. Look for Roboto slab in other place and remove it too. 3. Remove Roboto slab from dependencies, if applicable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7805) Web console: fix admin-panel E2E test under macOS
Ilya Borisov created IGNITE-7805: Summary: Web console: fix admin-panel E2E test under macOS Key: IGNITE-7805 URL: https://issues.apache.org/jira/browse/IGNITE-7805 Project: Ignite Issue Type: Bug Reporter: Ilya Borisov Assignee: Ilya Borisov The "Testing setting notifications" test fails when run under macOS. During the issue initial research I managed to find that AngularStrap modal animations take way more time to complete compared to a regular, non-TestCafe environment. The broken animation makes elements appear in an unexpected order, which in turn causes TestCafe selectors to select wrong elements or correct elements, but at wrong time. The cause might lie in both TestCafe and our app code. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7395) Web console: improve list-editable scope variables access
Ilya Borisov created IGNITE-7395: Summary: Web console: improve list-editable scope variables access Key: IGNITE-7395 URL: https://issues.apache.org/jira/browse/IGNITE-7395 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor *The problem:* The only way to access an item instance from inside list-editable transclusion slots is via _$parent.item_. This approach is both cumbersome and prone to $scope-related issues (i.e. input elements can't access it if there are intermidate scopes). *What to do:* Provide an easy and reliable way to access item (maybe as _$item_?) and _$index_ variables (used by unique ignite-validator). It would also be handy to be able to change item alias name (useful for nested list-editable's). -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7238) Web console: incorrect "Download agent" button color
Ilya Borisov created IGNITE-7238: Summary: Web console: incorrect "Download agent" button color Key: IGNITE-7238 URL: https://issues.apache.org/jira/browse/IGNITE-7238 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Priority: Minor *How to reproduce:* 1. Start demo mode, do not start a web agent. 2. Wait for "Connection to Ignite Web Agent is not established" dialog to appear. 3. Focus on "Download agent" using Tab button (or any other way). *What happens:* "Download agent" label becomes red. *What should happen:* "Download agent" label should remain white. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7225) Web console: improve CSV export
Ilya Borisov created IGNITE-7225: Summary: Web console: improve CSV export Key: IGNITE-7225 URL: https://issues.apache.org/jira/browse/IGNITE-7225 Project: Ignite Issue Type: Bug Components: wizards Environment: Browsers with ru and en locales. Reporter: Ilya Borisov Assignee: Ilya Borisov *What to do:* When exporting to CSV, rely on user's locale and number decimal separator symbol to determine what to use as a CSV separator. *Motivation:* During export to CSV, numbers are formatted depending on user's locale. In _non-import mode_, MS Excel requires comma as a decimal separator and semicolon as a CSV separator for _ru _locale and dot/comma respectively for _en_. After resolving this issue, CSV export will become more aware of user's environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7064) Web console: implement mechanism to
Ilya Borisov created IGNITE-7064: Summary: Web console: implement mechanism to Key: IGNITE-7064 URL: https://issues.apache.org/jira/browse/IGNITE-7064 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin Priority: Minor Most of E2E tests require complex DB/web-agent/Ignite cluster state management. Let's implement tools to help with that, maybe something easy at first, like DB state. Web console backend already has a similar mechanism we can reuse. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7012) Web console: investigate E2E tests
Ilya Borisov created IGNITE-7012: Summary: Web console: investigate E2E tests Key: IGNITE-7012 URL: https://issues.apache.org/jira/browse/IGNITE-7012 Project: Ignite Issue Type: Bug Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin Priority: Minor Investigate what tools we can use to implement E2E tests and try some of them out. I think that testcafe will be a good start: https://github.com/DevExpress/testcafe https://github.com/DevExpress/testcafe-angular-selectors -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7011) Web console: add more tests
Ilya Borisov created IGNITE-7011: Summary: Web console: add more tests Key: IGNITE-7011 URL: https://issues.apache.org/jira/browse/IGNITE-7011 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor Web console does not have enough test coverage, let's fix that. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6928) Web console: use redesigned context menus everywhere
Ilya Borisov created IGNITE-6928: Summary: Web console: use redesigned context menus everywhere Key: IGNITE-6928 URL: https://issues.apache.org/jira/browse/IGNITE-6928 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor At the moment web console has two distinct context menu styles. Eventually, all older context menus have to be replaced with newer ones. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6873) Web console: some error messages are too technical
Ilya Borisov created IGNITE-6873: Summary: Web console: some error messages are too technical Key: IGNITE-6873 URL: https://issues.apache.org/jira/browse/IGNITE-6873 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: wizards Environment: Chrome 29 Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor *What happens:* Chrome 29 throws an error about missing {{atob}} and {{btoa}} global functions (used in the frontend AgentManager service). The error gets succesfully displayed to user in a default error notification, but ambiguous message "Reference error: can't find atob" provides very little useful info for most of users without advanced JS background. *What should happen:* Web console should relay this and similar errors in a more accessible manner. *Possible solutions:* 1. Consider missing API errors as operational, add explicit handler to generate better messages, detect features and polyfill when possible. Pros: better UX, increases supported browsers percentage. Cons: very high maintenance cost. 2. Notify user about unsupported/outdated browser. Pros: easy to implement, simultaneously covers lots of potential issues. Cons: very non-specific, UX worse than option #1. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6859) Web console: does not work in IE11
Ilya Borisov created IGNITE-6859: Summary: Web console: does not work in IE11 Key: IGNITE-6859 URL: https://issues.apache.org/jira/browse/IGNITE-6859 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: wizards Environment: WIndows 10, IE11 Reporter: Ilya Borisov Assignee: Ilya Borisov *What happens:* Web console does not work in IE11 at all, it gets stuck at loading screen indefinitely and logs an error into console. *Expected behavior:* Web console should work in IE11. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6833) Web Console: runtime errors after each SCSS save
Ilya Borisov created IGNITE-6833: Summary: Web Console: runtime errors after each SCSS save Key: IGNITE-6833 URL: https://issues.apache.org/jira/browse/IGNITE-6833 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: wizards Environment: Windows 10, MacOS, master branch Reporter: Ilya Borisov Assignee: Alexander Kalinin *What happens:* Web console frontend throws runtime errors after every SCSS file save. You have to save any non-stylesheet file to fix the error. *How to reproduce:* 1. Checkout master. 2. Start frontend development environment. 3. Save any SCSS file, no changes necessary. 4. Open local web console, open browser console, see the error. *Expected behavior:* No errors should happen after SCSS file saves. *Note:* I had a hand at this earlier: the error always mentions missing global dependency of some sort (i.e. _.head). If you replace all implicit lodash uses with explicit imports in every file, error eventually starts to point at polyfills (i.e. RegExp.esacpe). Maybe this will be of help, I did not progress any further. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6816) Investigate/integrate Webpack dll-plugin
Ilya Borisov created IGNITE-6816: Summary: Investigate/integrate Webpack dll-plugin Key: IGNITE-6816 URL: https://issues.apache.org/jira/browse/IGNITE-6816 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: wizards Reporter: Ilya Borisov Assignee: Alexander Kalinin As the webconsole frontend app size grows, it takes more and more time to incrementally rebuild after each source code change in development environment. Let's investigate this plugin https://webpack.js.org/plugins/dll-plugin/ and integrate it into webpack build pipeline if it offers measureable performance improvements. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6476) Webconsole demo fails to import metadata
Ilya Borisov created IGNITE-6476: Summary: Webconsole demo fails to import metadata Key: IGNITE-6476 URL: https://issues.apache.org/jira/browse/IGNITE-6476 Project: Ignite Issue Type: Bug Components: wizards Affects Versions: 2.1 Reporter: Ilya Borisov Assignee: Alexey Kuznetsov *What happens:* When I try to import domain models in demo mode, web throws an error: {{ [2017-09-22 10:58:41,251][ERROR][pool-4-thread-1][AgentMetadataDemo] DEMO: Failed to start test drive for metadata! java.sql.SQLException: No suitable driver found for jdbc:h2:mem:demo-db;DB_CLOSE_DELAY=-1 at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at org.apache.ignite.console.demo.AgentMetadataDemo.testDrive(AgentMetadataDemo.java:61) at org.apache.ignite.console.agent.handlers.DatabaseListener.connect(DatabaseListener.java:199) at org.apache.ignite.console.agent.handlers.DatabaseListener.schemas(DatabaseListener.java:221) at org.apache.ignite.console.agent.handlers.DatabaseListener$1.execute(DatabaseListener.java:83) at org.apache.ignite.console.agent.handlers.AbstractListener$1.run(AbstractListener.java:71) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) }} *Expected behavior:* Webagent should return requested metadata without throwing errors. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6446) Stuck on "Loading" screen
Ilya Borisov created IGNITE-6446: Summary: Stuck on "Loading" screen Key: IGNITE-6446 URL: https://issues.apache.org/jira/browse/IGNITE-6446 Project: Ignite Issue Type: Bug Components: wizards Affects Versions: 2.1 Reporter: Ilya Borisov Assignee: Ilya Borisov Fix For: 2.3 *What happens:* Web console gets stuck in loading screen when user opens any URL without prior app navigation and any permission check or HTTP request fails due to missing/expired authorization cookie. *How to reproduce:* 1. Log out of web console or open private browser tab. 2. Go to http://locahost:9000/configuration/basic *What should happen:* User should be redirected to either 403 or signin screen. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5737) Web Console: make cluster a root configuration entity
Ilya Borisov created IGNITE-5737: Summary: Web Console: make cluster a root configuration entity Key: IGNITE-5737 URL: https://issues.apache.org/jira/browse/IGNITE-5737 Project: Ignite Issue Type: Sub-task Components: UI, wizards Reporter: Ilya Borisov Assignee: Andrey Novikov It has been agreed upon to make cluster a root entity for configuration screens. That means that all caches/igfs/models will not be shared among clusters and be owned by a single cluster instead of current many to many relation. Backend requirements: 1. Implement REST endpoints to manage clusters. Frontend requirements: 1. Remove cluster selection from cluster edit screens. 2. Remove cluster selection from basic/caches/igfss/models screens. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5656) Web Console: some checkbox are misaligned
Ilya Borisov created IGNITE-5656: Summary: Web Console: some checkbox are misaligned Key: IGNITE-5656 URL: https://issues.apache.org/jira/browse/IGNITE-5656 Project: Ignite Issue Type: Bug Components: UI, wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor Some checkboxes in advanced configuration have incorrect vertical position, see attachments. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5627) Web Console: refactor grid columns menu
Ilya Borisov created IGNITE-5627: Summary: Web Console: refactor grid columns menu Key: IGNITE-5627 URL: https://issues.apache.org/jira/browse/IGNITE-5627 Project: Ignite Issue Type: Sub-task Components: UI, wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor Currently, every menu that allows to toggle individual columns/categories has it's own implementation. What to do: 1. Create a global reusable component that implements that should: * Support cases when grid has regular columnDefs only and columnDefs with categories. * Not display items that are always visible/hidden. * Have it's own default button markup which can be replaced by transclusion slot. * Automatically enable groups during previous groupping when user groups by such item (old implementation had such an issue, see admin users list for live example). For example, if first grouping was by column User with column Email hidden, and then user switches to Email grouping, Email column should become visible in grid and should be hidden from menu. 2. Use new component where appropriate and remove old copypasted code. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5476) Web Console: backend API updates for basic configuration
Ilya Borisov created IGNITE-5476: Summary: Web Console: backend API updates for basic configuration Key: IGNITE-5476 URL: https://issues.apache.org/jira/browse/IGNITE-5476 Project: Ignite Issue Type: Task Reporter: Ilya Borisov Assignee: Andrey Novikov New basic layout page will benefit greatly from several change at the backend level: 1. Remove caches to clusters two-side relation. 2. Add a new API method that will create/update cluster and it's caches. It will accept a `{cluster: {...}, caches: [...]}` object as parameter and will throw if any of internal create/update operation fails. This will save a lot of involved code that does roughly the same on the frontend. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5366) Web Console: user notifications
Ilya Borisov created IGNITE-5366: Summary: Web Console: user notifications Key: IGNITE-5366 URL: https://issues.apache.org/jira/browse/IGNITE-5366 Project: Ignite Issue Type: Task Components: wizards Reporter: Ilya Borisov Assignee: Andrey Novikov Web console needs a way to notify all users, for example about upcoming version updates. What to do: 1. Add a way for admin to manage notifications. 2. Display notifications in app header in style similar to "assummed identity" notification. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (IGNITE-5271) Web Console: light basic/advanced configuration
Ilya Borisov created IGNITE-5271: Summary: Web Console: light basic/advanced configuration Key: IGNITE-5271 URL: https://issues.apache.org/jira/browse/IGNITE-5271 Project: Ignite Issue Type: Task Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Implement light version of basic/advanced configuration. "Light version" implies old form styles/components, new basic form and redesigned tabbed navigation. Advanced section remains the same as current configuration screen. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (IGNITE-5230) Web Console: SVG icons integration
Ilya Borisov created IGNITE-5230: Summary: Web Console: SVG icons integration Key: IGNITE-5230 URL: https://issues.apache.org/jira/browse/IGNITE-5230 Project: Ignite Issue Type: Task Components: wizards Reporter: Ilya Borisov Assignee: Ilya Borisov Priority: Minor We need a common way to use SVG icons that: 1. Does not require extra styles. 2. Allows for CSS styling of icons, especially icon color. 3. Easy to add new icons. -- This message was sent by Atlassian JIRA (v6.3.15#6346)