Skip to content

cyfronet-fid/angular-engine

Repository files navigation

Angular - agreemount.engine frontend integration

Front-end integration framework for agreemount.engine backend

Installing:

bower install angular-engine

Documentation:

Autogenerated documentation for each version is available here (you need to be connected to the VPN): http://docker-fid.grid.cyf-kr.edu.pl:8899/

Customizing CSS

From version 0.8.1 css has been moved to SCSS so it can be customized depending on your needs. look for scss/_variables.scss to see what variables can be overwritten to what effects.

Usage

See docs: (TODO)

Development

Requirements

Make sure that following packages / dependencies are satisfied before starting development.

  • nodejs (>=6.x)
  • npm

Npm packages required in global scope (npm install -g):

  • bower
  • brunch

Developing

Either ensure that brunch watch (or brunch watch --server if you also want to host angular-engine.js locally) is called and actively watches file changes, or don't forget calling brunch build after making changes and before commiting.

Brunch is also responsible for compiling documentation, so you can also see changes to documentation online.

Local HTTPS hosting

For convenience a couple of npm scripts has been added to streamline local development for other locally deployed applications (especially those hosted by JAVA over HTTPS, as they refuse to pull other local resources if they are not served over HTTPS)

Make sure that key, cert pair is generated for the sake of development: (If you plan to develop using self hosted files)

npm run-script ssl

In order to run the application locally type following (on the https server):

npm start

If you run brunch watch --server above command is not required, as it is implicitly called by brunch.

Testing

See docs: (TODO)

Testing requires running agreemount.engine backend with the appropriate version that tested angular-engine version supports. Everything needed to start is located in /tests/e2e

Documentation

To build all documentation via build.sh script apart from standard development requirement you need to ensure that your git version is >= 2.0

To build documentation execute (from the top repository level):

docs/build/build.sh

Result of the script is documentation for all angular-engine versions created in buid/ directory in respective dirs mirroring versions of angular-engine package

Changelog

  • 0.8.21 Fixed PS-262 Fixed visibility of "required" mark in the checkbox metric

  • 0.8.20 Fixed PS-260, PS-261, PS-262 Fixed displaying error messages on list Fixed redirection to specified step Added events handler to input which catch pressed enter

  • 0.8.19 Fixed PS-247 (reloading metrics) Fixed PS-241 (subdocument to subdocument redirection)

  • 0.8.18 Fixed PS-246 (conditions for SingleDocument list view)

  • 0.8.17 Fixed PS-242 (with $engineProvider.setOnMetricChange) Fixed PS-232 (with not allowing to input integer bigger then JAVA allows) Added option to specify angular expression for extracting document's id for links in lists (column with type 'link')

  • 0.8.16 Fixed bug where actions in subdocuments would not load properly

  • 0.8.15 Added support for multi context via documentModelId (it is sent in TEMP in states) Added customizable error handling saveOnChange will now reload queries by default Custom sidebar components can now be registered Fixed css spacing of document action buttons

  • 0.8.14 Fixed double subdocument modal when clicking create action

  • 0.8.13 Added translation for checkbox control, added number formatting depending on locale for non editable controls, table cells and details

  • 0.8.12 Fixed attachment uploading which broke document field connection to model

  • 0.8.11 Added translation support for captions in list filter select box

  • 0.8.10 Sorting has been enabled, and fixed according to new backend specification.

  • 0.8.9 Added support for filtering and sorting of query lists. Sorting has been disabled, and waits when backend fixes.

  • 0.8.8 Added support for nooverwrite option Fixed bug when double click could fire document creation action multiple times Fixed bug where step from query url was not validated Added translation to textarea placeholder text

  • 0.8.7 Added support for dynamic reloading of metric's options via availableOptions

  • 0.8.6 Added support for immediateCreate for subdocuments

  • 0.8.5 Fixed file upload extension checking, fixed document navigation

  • 0.8.4 Fixed steps redirection, added dashboard redirection, removed option of scaling textareas

  • 0.8.3 Reloading messages, Creating document after clicking create button ($engineProvider.setImmediateCreate(true)), Redirecting to specified document step via model#step syntax.

  • 0.8.2 Added missing translations (datepicker, list component)

  • 0.8.1 Fixed radio controls scss

  • 0.8.0 CSS are now generated from scss, which can be customized per build easily. Added radio type, for cases which there is more options than can be fit in a single row

  • 0.7.12 Added metrics recalculation after reloading document, added parsing of date objects to document detail's view

  • 0.7.11 Fixed problem with reloading document after redirect - no queries were reloaded - it's fixed now. Added confirmation modal to action with type "DELETE"

  • 0.7.10 Improved redirect handling with use of com.agreemount 1.2.6 features. Now document model to which redirecting happens can be specified. Additionally if passing of documents states in redirect action via engine.includeStateInRedirect = true option is enabled it will be used, which should save one request to the server. Added filtering for querysets Fixed bug with sending empty TEMP instead of null

  • 0.7.9 Added engActionButton class which can be used to add custom button to the document's list which will fire engine's action, and responds to it. Custom buttons for document's lists can now be declared as strings and will be injected via angular's dependency injection Fixed bug where callback for custom button would not have it's return value passed Fixed angular animate style so that buttons with spinners will properly show / hide

  • 0.7.8 Added customizable global CSS class which can be used by some application to specify style only engular-engine Added a couple of guards which prevent application from crashing when provided with malformatted app.config.js Added babel to brunch, allowing ECMA2015 code style. Added query validation error display

  • 0.7.7 Fixed problem where query validators were not fired, added blocking of redirects, modals now reload after document creation

  • 0.7.6 Fixed passing ID with metrics query, added pagination

  • 0.7.5 Added optional parameter to file controls to allow filtering files by extension

  • 0.7.4 Fixes to CSS, fixes to Multiselect, units can now be in HTML (allows superscripts), fixed bug with attachment metrics to handle deletion correctly

  • 0.7.3 Fixed flickering of action buttons when loading one step documents. Fixed validation for Modals. Added '*' for required fields

  • 0.7.2 Actions for documents are now reloaded for document saves, and actions on subdocuments of the edited document

  • 0.7.1 (hotfix) Fixed bug with actions loading for subdocuments

  • 0.7.0 Fixed bug with document's link fields in list where they would execute ng-click event AND href in some cases (LINK ACTIONS) Fixed bug with redirects with actions from document lists. Fixed bug with array column type which broke if array == null (API BREAK) API extending list html template needs to use document_entry.$actions for action lists. See aproperiate templates.

  • 0.6.93 Link fields in document's list are now proper links with href, so it's possible to open documents in new tabs. Fixed problem where clicking steps too fast while document was in /new state would create duplicates

  • 0.6.92 Fixed problems with multi select (showing validation errors)

  • 0.6.91 Actions for the document are now visible only if document has been saved and is unmodified. Fixed some small bugs with prompts before leaving edited document.

  • 0.6.90 Added handling of dirty state for the document, now whether document is saved is displayed on the side panel, and if user tries to navigate away from the document page confirmation window will appear.

  • 0.6.89 Removed console logs in production by default, they still can be turned on in the application via $engLogProvider.setLogLevel()

  • 0.6.88 Added waiting indicator on categories when additional metrics are loaded (reloaded). During loading time user can not input new data.

  • 0.6.87 Changed all actions button to newly designed components, now double clicking executing action should not be possible anymore. Additionall features:

    • Validation button not showing if document is not editable
    • Multiselects fixes (now disable works, also some other minor fixes)
    • Fixes to LINK metric
  • 0.6.86 Created two types of build (production & development) - for production a couple of optimizations has been introduced which should decrease lag and increase responsiveness of the application.

  • 0.6.83 Added basic custom style to angular engine. It overrides bootstrap styles, so in deployment bootstrap.css should be placed before angular-engine.css