App-MFILE-WWW
view release on metacpan or search on metacpan
- bin/mfile-www: use $dispatch_module instead of hard-coding
- Make debug mode controllable via MFILE_WWW_DEBUG_MODE config param
- Resource.pm, Dispatch.pm: support login/logout
- Implement login/logout functionality in standalone mode
- login dialog: fail properly on bad login creds
0.141 2016-09-12 10:17 CEST
- cleanup: remove all mentions of REST
- doc: drop version section from README.rst
- js: drop connectToRestServer config param
- cleanup: drop over-verbose comments in login-dialog.js
- Initialize currentUserPriv (fixes login dialog)
0.142 2016-09-16 00:18 CEST
- doc: improve comments and log messages
- dform: calculate length of form entry text
- js: replace for-loop with reduce method in core/html.js
- js: display (none) if no value in dform
0.143 2016-09-19 12:46 CEST
- js: add forceArray() function to core lib
- js: handle null in array concatenation (core/html.js)
0.144 2016-09-25 09:46 CEST
- bin/mfile-www: add --init option for perlbrew installs
- Log user out if AJAX call returns 401
0.145 2016-09-27 17:00 CEST
- Resource.pm: eliminate a warning
- cleanup: improve debug messages
- bin/mfile-www: save session data in temporary file
- js: handle various form field values better in html.js
- Port dform display improvements to dbrowser
- dbrowser: rename aclProfile -> aclProfileRead
- dbrowser: fire itemHook in listener function
0.146 2016-09-28 18:58 CEST
- Remove dbrowser "itemHook", bad idea
- js: export dbrowserListen and dbrowserState in start.js
- _load_config: make sitedir take priority
- build/ops: set OBS_PROJECT to Application:Dochazka
0.147 2016-09-28 22:58 CEST
- dtable boilerplate
- dtable: everything except table rendering
- js: fix ACL profile property name in entry definitions
- build/ops: fix session management
- js: rename charsNeeded() to maxLength() and generalize
- dtable: finalize initial feature implementation
0.148 2016-09-29 00:43 CEST
- html.js: handle null entries prop in miniMenu()
- js: take headings into account when calculating column widths
- js: grammatically correct "Displaying table" message
- js: add readableDate() function to core lib
0.149 2016-09-29 01:09 CEST
- html.js: restore proper padding in dform
- js: make readableDate() take full "YYYY-MM-DD HH:DD:SS+TZ"
0.150 2016-11-03 19:22 CET
- Resource.pm: expose REST server URI to JavaScript side
- Resource.pm: export foreign site params only if defined
- js demo: dtable return to demoSubmenu instead of demoMenu
- js demo: implement a proper hook for dbrowser demo
- html.js: do not concatenate undefined entries
- html.js: use text prop to determine max length
- html.js: implement and use getObjStr()
- start.js: simplify dtable start/listen code
- Implement a drowselect target (widget)
- demo: plumb in the new "drowselect" widget
- demo: implement proper dtable, drowselect hooks
- html.js: initial HTML for drowselect widget
- start.js: add drowselect start and listen functions
- html.js: put spans around table/rowselect rows
- core: implement drowselect reverse video, arrow-key navigation
- html.js: remove potential code duplication (dtable/drowselect)
0.151 2016-11-04 22:02 CET
- demo: storage and accessors for dbrowser data set
- demo: move rowselect demo to submenu
- demo: enable editing in dbrowser/drowselect demos
- core: refactor to eliminate code duplication (and fix a bug)
0.152 2016-11-05 21:18 CET
- core: prevent miniMenu entries from being undefined in start.js
- core: library function for displaying error messages
- core: improve display of empty table/rowselect in html.js
- core: display drowselect navigation only if rows > 1
0.153 2017-02-25 09:30 CET
- Refrain from making a new Plack::Session object
- doc: tweak log messages
- Resource.pm: implement session and session_id methods
- script: store sessions in a dedicated directory in /tmp
- Display session data on all screens
- login: do not trigger page reload when bad credentials
- Dispatch.pm: remove dead code
- Control display of session data by config parameter
- doc: better description of MFILE_APPNAME config param
- Control display of session data via configuration parameter
0.154 2017-02-27 15:40 CET
- build/ops: require recent versions of dependencies
- Cleanup session data display
- html.js: handle null entriesWrite array
- Implement a special divider dform entry, including rendering
- Implement a special dform entry that is just an empty line
- html: handle null elem.text in maxLength
0.155 2017-02-27 22:37 CET
- html.js: handle special entries in dbrowser, too
- lib.js: add shallowCopy function
- spam console log less (rightPadSpaces, current-user.js)
- current-user: refrain from spamming log
0.156 2017-02-28 15:23 CET
- lib.js: add isStringNotEmpty function
0.157 2017-08-25 14:01 CEST
- doc: start documenting the JavaScript primitives
- Implement target stack feature (major refactor)
- lib.js: implement isObjEmpty()
- stack.js: handle undefined and null obj in push()
- start.js: dform restore state only if rememberState is true
- stack: unsetFoo functions take no argument
- stack: make unwindToTarget take an optional obj argument
- stack: implement grep function
- stack,start: cleanup
0.158 2017-08-29 15:12 CEST
- doc: fix POD syntax in WWW.pm
- Fixed up the existing unit tests
- js: make JS entry point more of a wrapper
- tests: js: add a test that starts the application
- tests: js: add #mainarea introspection to dmenu test
- tests: js: migrate QUnit from 1.15.0 to 2.4.0
0.159 2017-09-23 23:52 CEST
- js: core: migrate to JQuery 3.2.1
- doc: describe how to add new JavaScript unit tests
- doc: JS unit testing: include QUnit documentation links
- js: core: upgrade to RequireJS 2.3.5
- js: core: strictly separate dmenu submit codepaths
- js: tests: test what happens when 0 is pressed in demoMenu
- js: core: drop passhash and salt from user prototype
- js: root: prevent login dialog from appearing in tests
- Resource.pm: do not set currentUser when testing
- js: core: current-user: handle null values
- js: core: cf, current-user: allow override with null
- js: core: root: reset stack on every invocation
- js: core: stack: implement getStack method
- Refactor login, logout codepaths to allow login/logout from tests
- js: core: rename logout.js to loggout.js
- js: tests: declare QUnit module "mfile-www core"
0.160 2017-09-25 17:33 CEST
- js: make login() take an object instead of two positional arguments
- js: export mmKeyListener from start()
- js: core: lib: add displayResult function
- js: stack: add getLength() method
- js: refrain from calling loggout from ajax.js
- js: lib.js: add focusedItem function
- js: stack.js: fix reference to "push" attribute
- Resource.pm: tell browsers not to cache
- Provide way to specify result line when starting a target
- stack.js: make getTarget take an offset
- start.js: unify arguments taken by primitive start functions
0.161 2017-09-28 11:42 CEST
- stack.js: implement restart() and pushWithoutStart() methods
- target.js: do not export _store
- js: core: html.js: put functions in alphabetical order
- build/ops: hopefully do not install Vim .swp files
- js: cleanup: rearrange lib.js functions and drop holdObject()
- js: fix logout breakage introduced by recent refactoring
- js: hack standalone demo app tests following recent refactoring
- js: html: improved debug logging in maxLength()
- js: html: in dform, handle entriesRead more carefully
- js: core: implement getEntries() method in target prototype
- js: Implement form entry vetting feature
- js: ignore SHIFT+TAB in login dialog
- js: concentrate form entries into a central module
- js: start: use currentTarget "global" in mmSubmit()
- js: core: implement date vetter function
- js: datetime: implement canonicalizeTime and vetTimeRange
- js: core: add submitAction property to drowselect
- js: lib: enable displayError() to focus on arbitrary entry
- js: datetime: implement offset time ranges
- js: stack, start: make dform take an "inputId" option
0.163 2017-10-19 23:19 CEST
- js: lib: add isArray() from Crockford, Douglas
- js: datetime: enable vetting of special Dochazka time ranges
- js: dform: if entries have populate property, trigger populate async
- js: start: implement dform non-interactive async populate feature
- Resource: re-enable browser caching, increase waitSeconds
- js: core: use minified d3 and jQuery
- js: eliminate D3 from login dialog to lower page load times
- Resource: use onNodeCreated to display RequireJS module loading info
- js: start: refrain from vetting form entries on SHIFT-TAB
- js: core: use keydown instead of keypress (for Chrome)
- Resource: fix login bypass functionality
0.164 2017-10-20 22:41 CEST
- Dispatch+Resource: refactor login dialog bypass
- js: core: implement populate module
- js: start: clear result line when displaying dmenu
- js: stack: implement unwindToType()
- Dispatch: fix App::CELL constructor
- js: datetime: add intToDay(), monthToInt(), and tsrangeToTimeRange()
0.165 2017-10-21 12:02 CEST
- js: start: vet populate property more carefully in dform
- js: start: log an error if entry has bad populate property
- js: stack, start: refrain from setting resultLine option to null
- js: core: make the console log less noisy
- js: refactor ajax.js
- js: refactor populate.js
0.166 2017-10-22 07:17 CEST
- js: datetime: do not allow offset time range to go past 24:00
- js: html: implement "hidden entries" feature in dform
- js: start: ESC is "Back" in dmenu and dform
- js: datetime: implement isTimeRangeAfterTime() and isTimeWithinTimeRange()
- js: html: implement "hidden entries" feature in dform
- js: stack: make unwindToTarget take opts
0.167 2017-10-27 23:07 CEST
- js: loggout: refactor
- js: html: tweak logout message
- start.js: add "populate" option to dform
- js: populate: clear result line when populate is finished
- Add .ignore file for ag
- js: core: display logout message from application in result line
- js: stack/start: disable logout-via-ESC
0.168 2017-10-29 12:25 CET
- js: core/html: improve debugging experience
- js: core/datetime: implement vetMonth() and vetYear()
- js: core/datetime: add daysInMonth() function
- js: core/lib: add uniq() function, eliminates duplicates from array
- js: core/html: let entries have size attribute different from maxlen
- js: core/datetime: implement vetDayList()
0.169 2017-10-29 17:57 CET
- js: core/ajax: display failure message with displayError()
- js: core/loggout: propagate result line message
- js: core/html: fix bug in vetEntries()
0.170 2017-10-31 12:00 CET
- js: core/datetime: add tsrangeToDateAndTimeRange()
- js: core/start: vet all writable dform entries when submitting
- js: core/start: populate object regardless of target type
- js: core/start: display opts.resultLine after populate in dform
- js: core/html: make long miniMenus wrap a little less clumsily
- js: core/stack: fix missing underscore in pop()
- js: core/stack: push opts onto stack
- js: core/stack: make unwindTo{Flag,Target} handle opts and respect _start
- js: core/start: make dmenu process opts and respect resultLine
0.171 2017-11-02 20:14 CET
- js: core: implement dcallback widget
- js: core/start: support htmlCallback and populateCallback props in dcallback
- js: core/datetime: implement dateToDay()
- start.css: make boxtopbot have the same background color as mainarea
0.172 2017-11-10 15:17 CET
- js: core/current-user: use jQuery to reset object
- js: core/datetime: implement vetTimeRangeNoOffset
- js: core/lib: implement "nullify" function
- js: core/stack: add ability to unwind to target without starting
0.173 2017-11-11 13:23 CET
- js: core/datetime: improve tab completion of months
- js: core/datetime: fix strToMonth() regression
- js: core/populate: do not clobber result line
- css, js/html: implement proper miniMenu indenting
- js: core: html/start: make menu entries start at 1
0.174 2017-11-13 11:43 CET
- Revert "Integrate D3 into the application"
- js: core/html: fix dmenu regression
- js: core/html: give minimenu div an id
- js: reflect appLib.fillUserBox() behavior change
0.175 2017-11-14 17:24 CET
- js: core/start: pass resultLine to drowselectListen()
- js: core: implement "menu" prototype
- js: core/populate: handle undefined populateArray a little less stupidly
- js: core/init2: do not clobber miniMenu objects
0.176 2017-11-27 11:22 CET
- js: core/html: unify usage of " " in dmenu and miniMenu; populate
mainarea with a placeholder
- build/ops: drop older versions of jquery, qunit, requirejs
- js: core/ajax: refactor; logout if session expires; always clear result line
( run in 3.613 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )