App-MFILE-WWW
view release on metacpan or search on metacpan
communicate with the REST server; editEmpProfile is still WIP; menu system
still needs work (ACL profile, incorporate minimenu into form)
0.039 2014-08-24 20:47 CEST
- get rid of lots of code made obsolete by the recent redesign
0.040 2014-08-24 22:38 CEST
- Build.PL: eliminate Mason dependency
- MANIFEST: eliminate comp/, data/; add lib/App/Dochazka/WWW/HTML.pm
- WWW.pm: eliminate exports, Mason
- HTML.pm: new module replaces Mason templates
- Resource.pm: convert from Mason to HTML.pm
- status: works without Mason
0.041 2014-08-25 08:51 CEST
- WWW.pm: write POD; cleanup; eliminate 'verbose' parameter to init routine;
move 'init_session' to Resource.pm as it is used there only
- Resource.pm: eliminate dependency on WWW.pm
0.042 2014-08-25 10:22 CEST
- started working on JavaScript code
- rename 01init.js to 01initlib.js
- Resource.pm: log body of all incoming requests
- 01initlib.js: refactor MFILE.lib.AJAX so it takes an object instead of
three variables; bring in contents of 02loginDialog.js; display a polite
message when user logs out
0.043 2014-08-25 12:39 CEST
- js/: rearrange code
0.044 2014-08-25 16:11 CEST
- implement dynamic generation of "simple forms"
- simple forms consist of a title, a set of read-only span elements,
a set of read/write input elements, and a minimenu
- each form entry/element has an ACL profile
- individual menuItems also have ACL profile
- miniMenu logic autodetects presence of additional input elements above
'sel' and enables user to use TAB and SHIFT-TAB to navigate the entire
form
- ready to implement empProfileEditSave
0.045 2014-08-25 20:26 CEST
- implementing empProfileEditSave (WIP)
0.046 2014-08-25 22:13 CEST
- js/: start refactoring to take advantage of prototypes and methods
0.047 2014-08-26 13:40 CEST
- js/: complete refactor of "targets" object model underway; "targets"
are simple menus, mini menus, simple forms, and direct actions;
all targets "inherit" from the MFILE.target prototype; now being
much more careful about the order in which I define objects so I
don't refer to objects that don't yet exist; hopefully this change
will streamline the code and facilitate addition of additional targets
- HTML.pm: get names of JavaScript code files from site configuration
parameter, instead of having them hardcoded
- status: login, logout, and simple menus are working again; rest is broken
0.048 2014-08-26 14:49 CEST
- MANIFEST: update JavaScript source files
- 002lib.js: expand MFILE.lib.AJAX to take success and failure callbacks
- js/: change all MFILE.lib.AJAX calls to send success and failure callbacsk
- 011simpleMenu2.js: use anonymous function call to loop over all simple
menus
- status: ready to re-implement simple forms
0.049 2014-08-26 15:52 CEST
- WIP refactoring JavaScript code for the new 'target' prototype
and to use object references wherever possible
0.050 2014-08-27 16:18 CEST
- ironing out bugs in the JavaScript code
0.051 2014-08-27 21:22 CEST
- finally finish migration to new object model (simple forms implementation)
- implement empProfileUpdate (formerly empProfileEditSave)
- split off 'priv' and 'schedule' properties from MFILE.currentEmployee into
MFILE.currentEmployeePriv and MFILE.currentEmployeeSchedule, respectively,
so the MFILE.currentEmployee object's properties match those of the employee
object in the REST server's data model
- remove 'priv' from empProfile and empProfileEdit, as it is not a property
of the employee data model object and it's presence here might confuse users
0.052 2014-08-27 22:31 CEST
- add 'new employee' simple form
- 013simpleForm2.js: fix some minor issues in makeSimpleFormSource function
0.053 2014-08-28 10:03 CEST
- 006simpleForm1.js: add 'dispEmployee' target; add preamble text to 'empProfileEdit' target;
Nick is a required field, so it gets a star
- 011simpleMenu2.js: clear '#result' before displaying the menu
- 013simpleForm2.js: text of Back menu entry is now configurable; add 'dispEmployee' target;
makeSimpleFormSource display preamble; menu selection defaults to 'X' (back) when there
are no other menu entries
- 110empProfile.js: add 'dispEmployee' target; newEmployee target now calls 'dispEmployee'
upon successful insert
0.054 2014-08-28 16:16 CEST
- WWW/Resource.pm: trying to tame JSON encoding/decoding
- js/: start working on employee search/browse
- status: implemented new 'Search employee' menu item, simple form for
getting search key, AJAX call to REST server, "browse" results in cases
when 0 or 1 employees found
0.055 2014-08-28 22:29 CEST
- js/: first shot at employee search functionality for administrators: simple
form gathers a nick search key (e.g. 'ro%') which matches 'n' records,
which can then be displayed/browsed using a clumsy set of forms -- it is
enough to see that:
(a) it can be done using the simple forms, but
(b) realistically, a new widget will be needed
0.056 2014-08-29 08:53 CEST
- js/: add 'changePassword' target
- status: changePassword works, but REST server does not allow passerbies and
inactives to change their passwords -- need to look at that
0.057 2014-08-29 13:42 CEST
- Resource.pm: 'rest_req' now returns entire HTTP::Response object instead
of just its 'code' property: adapt our code to handle that; AJAX calls
return HTTP response code _and_ message
0.104 2014-09-19 09:27 CEST
- WWW.pm: move startup script-related POD to startup script
- Resource.pm: clarify logic in 'is_authorized'
- js/core/current-user.js: refactor, document
- js/core/lib.js: refactor 'privCheck'
- js/core/tests/current-user.js: test differently in standalone mode
- js/core/tests/lib.js: adapt to changes in current-user.js
- tickets: add some tickets
0.105 2014-09-19 13:59 CEST
- Resource.pm: do not use quotation marks when we send 'false/true' value
of META_WWW_CONNECT_TO_REST_SERVER to JavaScript side
- js/: adapt to true/false value of cf('connectToRestServer'); deal with
current-user being null in standalone mode; make privCheck test use new
lib.privCheck "API"
0.106 2014-09-19 17:25 CEST
- add initialization code for derived distribution mode
0.107 2014-09-19 18:10 CEST
- bin/mfile-www: fix various oversights
- current_user.js: make 'obj' switch return null if there is no nick
- main.js: fix derived distribution mode
- status: server starts in ddist mode, login dialog is displayed
0.108 2014-09-20 08:20 CEST
- make target-init return name of target to be called first (by main.js)
0.109 2014-09-20 22:53 CEST
- lib.js: clean up deprecated constructor functions
0.110 2014-09-21 00:33 CEST
- bin/mfile-www, Resource.pm: add code to get the right version string so we
don't display App::MFILE::WWW version in derived distro mode
0.111 2014-09-22 21:02 CEST
- Resource.pm: fix bug "App::MFILE::WWW version number in HTML title, but
in derived distribution mode the version number should be that of the
derived distribution"
0.112 2014-09-24 10:19 CEST
- js/core/dform-source-start.js: fix two bugs relating to how miniMenu length
is determined
0.113 2014-09-24 11:53 CEST
- Resource.pm: fix bug "privilege reverts to passerby on page reload"
0.114 2014-09-24 13:47 CEST
- do the right thing when user hits ENTER at a menu or miniMenu
0.115 2014-09-24 15:27 CEST
- js/: two minor clarifications
0.116 2014-09-25 10:29 CEST
- WWW.pm: massage POD
0.117 2014-09-27 10:53 CEST
- js/: start refactor in preparation for adding new 'browser' widget
0.118 2014-10-03 12:46 CEST
- ajax.js: expand commentary
- js/: start work on 'dbrowser' widget (target type)
0.119 2014-10-06 08:13 CEST
- html.js: first shot at dbrowser HTML generator; modularize some snippets of
code
0.120 2014-10-10 12:05 CEST
- js/: debug latest round of changes
- NEXT: start testing dbrowser functionality
0.121 2014-10-10 17:01 CEST
- js/: work on dbrowser (progress)
0.122 2014-10-11 14:53 CEST
- lib.js: add 'holdObject' routine
- start.js: add 'dbrowserSubmit' routine; when dbrowsing, use 'lib.holdObject'
to store the current object so we can return to it
- dform-init.js: start work on a 'demoEditFromBrowser' target
0.123 2014-10-11 17:15 CEST
- start.js: add warning about argument passed by dform handler to start
method of item picked from the dform miniMenu; store dbrowser state in a
descriptively-named object; rewrite dbrowser method to enable it to be
called either with an argument ("new" dbrowser) or without (return to
existing dbrowser state)
- daction-{init,start}.js: add 'returnToBrowser' action for returning to
the saved dbrowser state
- dform-init.js: make the 'Back' miniMenu selection in 'demoEditFromBrowser'
call the 'returnToBrowser' target
0.124 2014-10-11 19:34 CEST
- dbrowser-init.js: use lib.holdObject for the hook and store the sample
result set there before initializing the target
0.125 2014-10-11 20:34 CEST
- html.js: add comment; remove useless arguments from 'dbrowser' function
declaration
- lib.js: add comment
- start.js: fix bug "start.dbrowser not reinitializing state"; add comments
0.126 2014-10-11 21:57 CEST
- current-user.js: add flag1 property, which we will use to store
masquerade state but which could be used for anything
- html.js: fill 'userbox' element from app/lib.js
- mfile-www/lib.js: new module with one method so far: 'fillUserBox' (based
on code that used to be in html.js)
0.127 2014-10-11 22:39 CEST
- start.css: change 'dbstatus' to 'noticesline'
- html.js: add notices line to body HTML
- mfile-www/app.js: add 'fillNoticesLine' method
0.128 2014-10-11 23:13 CEST
- start.js: notify console log and clear 'result' element whenever a dmenu,
dform, or dbrowser is started
0.129 2014-10-13 15:25 CEST
- WWW.pm: work on POD
- core/html.js, css/start.css: rework CSS code in light of
http://stackoverflow.com/questions/26339186/different-font-sizes-and-justifications-on-a-single-line
( run in 3.097 seconds using v1.01-cache-2.11-cpan-5b529ec07f3 )