You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@airavata.apache.org by "Marcus Christie (Jira)" <ji...@apache.org> on 2021/06/22 21:44:00 UTC

[jira] [Updated] (AIRAVATA-3453) POC: web components for geochemsim supcrtbl2 app

     [ https://issues.apache.org/jira/browse/AIRAVATA-3453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcus Christie updated AIRAVATA-3453:
--------------------------------------
    Description: 
To start with, develop a proof of concept set of web components to be used in porting the supcrtbl2 application user interface. The existing UI is php based. It uses a jquery plugin called [textcomplete|https://github.com/seanbollin/jquery-textcomplete], with suggestion values provided by a database query. The form hides and shows options based on selected values.

TODO
- [x] a experiment-editor web component that can construct the ExperimentModel
- [x] handle experiment submission including allowing it to be cancelled if the form is invalid
- [x] implement a mechanism for initializing the experiment inputs based on an experiment experiment instance
-- [x] initialize radio buttons, these need special logic
- [x] add input event listener to slots (this way slotted components don't have to have special names)
- [x] add hide/show logic
- [x] add textarea autocomplete plugin
- [x] fix triggering input event when autocompletion is selected
- [x] project selector?
- [x] grp/compute resource selection/queue settings
- [x] handle GRP changing by reapplying BatchQueueResourcePolicy when it changes
- [x] handle user loses access to a GRP
- [x] fix missing fontawesome icons or switch to different icon source
- [x] integrate the database query
- [x] apply styling
- [ ] use native slots everywhere?
- [x] database model for template overrides
- [x] package up the custom template, context processor etc as a custom Django app
- [x] create base template that loads in the web components
- [ ] save and launch button and button styling


TODOs a bit further out:
- best way to build web components, optimize bundle size
- utility for populating custom form fields with saved values
- file selector and other core input editors (radio buttons, etc.)
- default styling of "form groups"
- validation
- prevent user from losing unsaved changes
- documentation
- unit tests



Questions
- add a prefix for input editor slot names? Currently I have them as the name of the input, but just to prevent collisions with other slots, maybe it should be "input:" + name of the slot or some other prefix


  was:
To start with, develop a proof of concept set of web components to be used in porting the supcrtbl2 application user interface. The existing UI is php based. It uses a jquery plugin called [textcomplete|https://github.com/seanbollin/jquery-textcomplete], with suggestion values provided by a database query. The form hides and shows options based on selected values.

TODO
- [x] a experiment-editor web component that can construct the ExperimentModel
- [x] handle experiment submission including allowing it to be cancelled if the form is invalid
- [x] implement a mechanism for initializing the experiment inputs based on an experiment experiment instance
-- [x] initialize radio buttons, these need special logic
- [x] add input event listener to slots (this way slotted components don't have to have special names)
- [x] add hide/show logic
- [x] add textarea autocomplete plugin
- [x] fix triggering input event when autocompletion is selected
- [x] project selector?
- [x] grp/compute resource selection/queue settings
- [x] handle GRP changing by reapplying BatchQueueResourcePolicy when it changes
- [x] handle user loses access to a GRP
- [x] fix missing fontawesome icons or switch to different icon source
- [x] integrate the database query
- [ ] apply styling
- [ ] use native slots everywhere?
- [x] database model for template overrides
- [x] package up the custom template, context processor etc as a custom Django app
- [x] create base template that loads in the web components

TODOs a bit further out:
- best way to build web components, optimize bundle size
- utility for populating custom form fields with saved values
- file selector and other core input editors (radio buttons, etc.)
- default styling of "form groups"
- validation
- prevent user from losing unsaved changes
- documentation
- unit tests



Questions
- add a prefix for input editor slot names? Currently I have them as the name of the input, but just to prevent collisions with other slots, maybe it should be "input:" + name of the slot or some other prefix



> POC: web components for geochemsim supcrtbl2 app
> ------------------------------------------------
>
>                 Key: AIRAVATA-3453
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-3453
>             Project: Airavata
>          Issue Type: Task
>          Components: Django Portal
>            Reporter: Marcus Christie
>            Assignee: Marcus Christie
>            Priority: Major
>
> To start with, develop a proof of concept set of web components to be used in porting the supcrtbl2 application user interface. The existing UI is php based. It uses a jquery plugin called [textcomplete|https://github.com/seanbollin/jquery-textcomplete], with suggestion values provided by a database query. The form hides and shows options based on selected values.
> TODO
> - [x] a experiment-editor web component that can construct the ExperimentModel
> - [x] handle experiment submission including allowing it to be cancelled if the form is invalid
> - [x] implement a mechanism for initializing the experiment inputs based on an experiment experiment instance
> -- [x] initialize radio buttons, these need special logic
> - [x] add input event listener to slots (this way slotted components don't have to have special names)
> - [x] add hide/show logic
> - [x] add textarea autocomplete plugin
> - [x] fix triggering input event when autocompletion is selected
> - [x] project selector?
> - [x] grp/compute resource selection/queue settings
> - [x] handle GRP changing by reapplying BatchQueueResourcePolicy when it changes
> - [x] handle user loses access to a GRP
> - [x] fix missing fontawesome icons or switch to different icon source
> - [x] integrate the database query
> - [x] apply styling
> - [ ] use native slots everywhere?
> - [x] database model for template overrides
> - [x] package up the custom template, context processor etc as a custom Django app
> - [x] create base template that loads in the web components
> - [ ] save and launch button and button styling
> TODOs a bit further out:
> - best way to build web components, optimize bundle size
> - utility for populating custom form fields with saved values
> - file selector and other core input editors (radio buttons, etc.)
> - default styling of "form groups"
> - validation
> - prevent user from losing unsaved changes
> - documentation
> - unit tests
> Questions
> - add a prefix for input editor slot names? Currently I have them as the name of the input, but just to prevent collisions with other slots, maybe it should be "input:" + name of the slot or some other prefix



--
This message was sent by Atlassian Jira
(v8.3.4#803005)