App-MFILE-WWW
view release on metacpan or search on metacpan
command line, yet default to values in site configuration if they are not
specified there
0.013 2014-08-14 17:01 CEST
- fighting with web technologies
0.014 2014-08-14 20:18 CEST
- add new JavaScript file js/02auth.js with authentication dialog-related
functions
- Resource.pm: fix bug "don't die when no context at line 349"
- comp/auth.mi: eliminate useless legacy iframe; do not submit form -
leave everything to the JavaScript code
- work on tickets
0.015 2014-08-15 11:14 CEST
- comp/: add license boilerplate; merge comp/index.html.mc into dhandler.mc
- js/02auth.js: merge beginnings of auth_check code
0.016 2014-08-15 17:47 CEST
- use jQuery 2.0 instead of 1.1.1
- jettisoned idea of having the JS code open a connection to the REST
- 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
- js/: run JSlint on all the JavaScript source files and fix all errors
0.058 2014-08-29 16:18 CEST
- css/: widen application frame by "50 pixels"
- Build.PL: require App::Dochazka version 0.164 minimum
- 002lib.js: fix MFILE.lib.rightPadSpaces (broken by JSlint-related
changes)
- 013simpleForm2.js: fix bug "form submit broken when clicking on submit
button"
0.059 2014-08-29 17:20 CEST
- Resource.pm->_login_dialog: improve error displayed on login failure
- 007directAction.js: constructor gives dA objects a default start method
if one is not provided in the argument object; add 'insertEmployee' dA
- test and debug MFILE.empProfile.sanitize function, now using it to ensure
that employee objects don't have illegal properties when sending them to
the REST server
0.061 2014-09-01 07:49 CEST
- Unicode hell
0.062 2014-09-02 17:57 CEST
- Unicode hell
- js/: split JS source files into 'mfile' and 'dochazka' trees -- 'mfile'
is the "framework" and 'dochazka' is our "application" (preparation for
Hackweek 11), minor cleanup
- HTML.pm, config/WWW_Config.pm: instead of having all the JS source code files
in a single array ref, each source file now has its own site param
0.063 2014-09-02 18:42 CEST
- js/: js/mfile/004simpleMenu1.js contains "general" code, while the "real"
simple menus are defined in js/dochazka/004simpleMenu1.js, which overwrites
the MFILE.simpleMenu object; eliminate MFILE.listOfAllSimpleMenus array since
this information can easily be derived from the MFILE.simpleMenu object
lib/App/MFILE/WWW.pm view on Meta::CPAN
=head1 SYNOPSIS
$ man mfile-www
$ mfile-www
$ firefox http://localhost:5001
=head1 DESCRIPTION
This distro contains a foundation/framework/toolkit for developing the "front
end" portion of web applications.
L<App::MFILE::WWW> is a L<Plack> application that provides a HTTP
request-response handler (based on L<Web::Machine>), CSS and HTML source code
for an in-browser "screen", and JavaScript code for displaying various
"widgets" (menus, forms, etc.) in that screen and for processing user input
from within those widgets.
In addition, infrastructure is included (but need not be used) for user
authentication, session management, and communication with a backend server via
share/js/core/ajax.js view on Meta::CPAN
// provides a function that sends AJAX requests to the App::MFILE::WWW server
// (which forwards them to the backend server) and takes action based on the
// HTTP response received.
//
// The 'ajax' function takes three arguments:
// - MFILE AJAX Object (an object)
// - success callback
// - failure callback
//
// The success and failure callbacks can be null or undefined, in which case App::MFILE::WWW will
// just display the status text in the #result div (i.e., the line at the bottom of the frame).
// If your AJAX calls needs any other handling than this, you need to provide at least a success
// callback.
//
// In all cases except login/logout, the MFILE AJAX Object looks like this:
// {
// "method": any HTTP method accepted by the backend server
// "path": valid path to backend server resource
// "body": content body to be sent to backend server (can be null)
// }
//
share/js/core/jquery-3.2.1.js view on Meta::CPAN
/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof windo...
a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var...
null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d...
share/js/core/jquery.js view on Meta::CPAN
/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof windo...
a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var...
null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d...
share/js/core/root.js view on Meta::CPAN
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// *************************************************************************
//
// root.js
//
// entry point of application, whether for actual use or functional testing
//
// displays the application frame in the browser window or QUnit fixture,
// determines user and privlevel, initializes targets, and loads the main menu
//
"use strict";
define ([
'jquery',
'cf',
'current-user',
'html',
share/js/core/tests/dummy.js view on Meta::CPAN
//
"use strict";
define ([
'QUnit'
], function (
QUnit
) {
return function () {
QUnit.test('unit testing framework present', function (assert) {
assert.ok(true, "Passed!");
});
};
});
share/js/mfile-www/lib.js view on Meta::CPAN
nick = 'ERROR';
}
r += 'User: ' + nick + ' (' + priv + ')';
return r;
},
//
// function returns string that will be displayed at the very
// bottom of the screen (directly under the frame)
//
fillNoticesLine: function () {
var r = '';
r += 'Copyright \u00A9 SUSE LLC, 2014. All rights reserved. ';
r += 'Report bugs at ';
r += '<a href="http://sourceforge.net/p/mfile/tickets/new/">';
r += 'http://sourceforge.net/p/mfile/tickets/new/</a>';
return r;
}
share/js/mfile-www/tests/dummy.js view on Meta::CPAN
//
"use strict";
define ([
'QUnit'
], function (
QUnit
) {
return function () {
QUnit.test('unit testing framework present', function (assert) {
assert.ok(true, "Passed!");
});
};
});
( run in 2.330 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )