@@ -14,11 +14,9 @@ | |||||
"public/css/all-web.css": [ | "public/css/all-web.css": [ | ||||
"lib/public/css/bootstrap.css", | "lib/public/css/bootstrap.css", | ||||
"lib/public/css/legacy/body.css", | "lib/public/css/legacy/body.css", | ||||
"lib/public/css/legacy/dialog.css", | |||||
"lib/public/css/ui/common.css", | "lib/public/css/ui/common.css", | ||||
"lib/public/css/ui/layout.css", | |||||
"lib/public/css/ui/fonts.css", | "lib/public/css/ui/fonts.css", | ||||
"lib/public/css/ui/list.css", | |||||
"lib/public/css/ui/views.css" | |||||
] | ] | ||||
}, | }, | ||||
@@ -40,7 +38,8 @@ | |||||
"lib/public/css/legacy/sidebar.css", | "lib/public/css/legacy/sidebar.css", | ||||
"lib/public/css/ui/common.css", | "lib/public/css/ui/common.css", | ||||
"lib/public/css/ui/list.css", | "lib/public/css/ui/list.css", | ||||
"lib/public/css/ui/views.css", | |||||
"lib/public/css/ui/appframe.css", | |||||
"lib/public/css/ui/layout.css", | |||||
"lib/public/css/ui/fonts.css", | "lib/public/css/ui/fonts.css", | ||||
"lib/public/css/views/tree_grid.css", | "lib/public/css/views/tree_grid.css", | ||||
] | ] | ||||
@@ -49,34 +48,7 @@ | |||||
{ | { | ||||
"public/js/all-web.js": [ | "public/js/all-web.js": [ | ||||
"lib/public/js/lib/bootstrap.min.js", | "lib/public/js/lib/bootstrap.min.js", | ||||
"lib/public/js/wn/class.js", | |||||
"lib/public/js/wn/provide.js", | |||||
"lib/public/js/wn/assets.js", | |||||
"lib/public/js/wn/dom.js", | |||||
"lib/public/js/wn/meta.js", | |||||
"lib/public/js/wn/misc/user.js", | |||||
"lib/public/js/wn/misc/utils.js", | |||||
"lib/public/js/lib/public/json2.js", | "lib/public/js/lib/public/json2.js", | ||||
"lib/public/js/wn/ui/messages.js", | |||||
"lib/public/js/wn/ui/listing.js", | |||||
"lib/public/js/wn/views/container.js", | |||||
"lib/public/js/wn/views/pageview.js", | |||||
"lib/public/js/wn/request.js", | |||||
"lib/public/js/core.js", | |||||
"lib/public/js/legacy/globals.js", | |||||
"lib/public/js/legacy/utils/datatype.js", | |||||
"lib/public/js/legacy/utils/datetime.js", | |||||
"lib/public/js/legacy/utils/dom.js", | |||||
"lib/public/js/legacy/utils/handler.js", | |||||
"lib/public/js/wn/ui/appframe.js", | |||||
"lib/public/js/wn/ui/field_group.js", | |||||
"lib/public/js/wn/ui/dialog.js", | |||||
"lib/public/js/wn/ui/button.js", | |||||
"lib/public/js/legacy/widgets/dialog.js", | |||||
"lib/public/js/legacy/webpage/loaders.js", | |||||
"lib/public/js/wn/app.js" | |||||
] | ] | ||||
}, | }, | ||||
@@ -89,35 +61,66 @@ | |||||
"lib/public/js/lib/mousetrap.min.js", | "lib/public/js/lib/mousetrap.min.js", | ||||
"lib/public/js/lib/center_image.js", | "lib/public/js/lib/center_image.js", | ||||
"lib/public/js/legacy/utils/printElement.js", | "lib/public/js/legacy/utils/printElement.js", | ||||
"lib/public/js/lib/bootstrap.min.js", | |||||
"lib/public/js/lib/public/json2.js", | |||||
"lib/public/js/lib/tiny_mce_3.5.7/jquery.tinymce.js:concat", | "lib/public/js/lib/tiny_mce_3.5.7/jquery.tinymce.js:concat", | ||||
"lib/public/js/lib/mousetrap.min.js", | "lib/public/js/lib/mousetrap.min.js", | ||||
"lib/public/js/wn/provide.js", | |||||
"lib/public/js/wn/class.js", | |||||
"lib/public/js/wn/assets.js", | |||||
"lib/public/js/wn/dom.js", | |||||
"lib/public/js/wn/ui/messages.js", | |||||
"lib/public/js/wn/ui/listing.js", | |||||
"lib/public/js/wn/request.js", | |||||
"lib/public/js/wn/router.js", | "lib/public/js/wn/router.js", | ||||
"lib/public/js/wn/app.js", | |||||
"lib/public/js/legacy/globals.js", | |||||
"lib/public/js/legacy/utils/datatype.js", | |||||
"lib/public/js/legacy/utils/datetime.js", | |||||
"lib/public/js/legacy/utils/dom.js", | |||||
"lib/public/js/wn/ui/appframe.js", | |||||
"lib/public/js/wn/ui/field_group.js", | |||||
"lib/public/js/wn/ui/dialog.js", | |||||
"lib/public/js/wn/ui/button.js", | |||||
"lib/public/js/wn/model/model.js", | "lib/public/js/wn/model/model.js", | ||||
"lib/public/js/wn/model/meta.js", | |||||
"lib/public/js/wn/model/doclist.js", | "lib/public/js/wn/model/doclist.js", | ||||
"lib/public/js/wn/model/sync.js", | "lib/public/js/wn/model/sync.js", | ||||
"lib/public/js/wn/model/create_new.js", | "lib/public/js/wn/model/create_new.js", | ||||
"lib/public/js/wn/model/perm.js", | "lib/public/js/wn/model/perm.js", | ||||
"lib/public/js/wn/misc/user.js", | |||||
"lib/public/js/wn/misc/utils.js", | |||||
"lib/public/js/wn/misc/tools.js", | "lib/public/js/wn/misc/tools.js", | ||||
"lib/public/js/wn/misc/about.js", | |||||
"lib/public/js/legacy/utils/handler.js", | |||||
"lib/public/js/legacy/utils/printElement.js", | "lib/public/js/legacy/utils/printElement.js", | ||||
"lib/public/js/legacy/widgets/dialog.js", | |||||
"lib/public/js/legacy/widgets/form/fields.js", | "lib/public/js/legacy/widgets/form/fields.js", | ||||
"lib/public/js/wn/ui/field_group.js", | |||||
"lib/public/js/legacy/webpage/loaders.js", | |||||
"lib/public/js/wn/upload.js", | |||||
"lib/public/js/wn/ui/themes.js", | "lib/public/js/wn/ui/themes.js", | ||||
"lib/public/js/wn/ui/filters.js", | "lib/public/js/wn/ui/filters.js", | ||||
"lib/public/js/wn/ui/search.js", | "lib/public/js/wn/ui/search.js", | ||||
"lib/public/js/wn/ui/tree.js", | "lib/public/js/wn/ui/tree.js", | ||||
"lib/public/js/wn/upload.js", | |||||
"lib/public/js/wn/misc/about.js", | |||||
"lib/public/js/wn/views/container.js", | |||||
"lib/public/js/wn/views/pageview.js", | |||||
"lib/public/js/wn/views/doclistview.js", | "lib/public/js/wn/views/doclistview.js", | ||||
"lib/public/js/wn/views/listview.js", | "lib/public/js/wn/views/listview.js", | ||||
"lib/public/js/wn/views/formview.js", | "lib/public/js/wn/views/formview.js", | ||||
"lib/public/js/wn/form/formatters.js", | |||||
"lib/public/js/wn/views/load_reportview.js", | "lib/public/js/wn/views/load_reportview.js", | ||||
"lib/public/js/wn/views/reportview.js", | "lib/public/js/wn/views/reportview.js", | ||||
"lib/public/js/wn/views/grid_report.js", | "lib/public/js/wn/views/grid_report.js", | ||||
"lib/public/js/wn/views/communication.js", | "lib/public/js/wn/views/communication.js", | ||||
"lib/public/js/wn/form/formatters.js", | |||||
"lib/public/js/legacy/webpage/page_header.js", | "lib/public/js/legacy/webpage/page_header.js", | ||||
"lib/public/js/legacy/widgets/layout.js", | "lib/public/js/legacy/widgets/layout.js", | ||||
"lib/public/js/legacy/widgets/tags.js", | "lib/public/js/legacy/widgets/tags.js", | ||||
@@ -1,52 +1,3 @@ | |||||
h5 { | |||||
margin-bottom: 0px; | |||||
} | |||||
.layout_wrapper, .layout-wrapper { | |||||
-moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
-webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
background-color: #fff; | |||||
padding: 15px; | |||||
} | |||||
.layout-wrapper-appframe { | |||||
padding: 0px; | |||||
} | |||||
.layout-main { | |||||
padding: 15px; | |||||
background-color: #fff; | |||||
} | |||||
.layout-wrapper-background { | |||||
background-color: #f2f2f2 !important; | |||||
padding: 0px; | |||||
} | |||||
.layout-main-section { | |||||
width: 71%; | |||||
float: left; | |||||
padding: 15px; | |||||
background-color: #FFF; | |||||
min-height: 540px; | |||||
-moz-box-shadow: 1px 0px 1px #ccc; | |||||
-webkit-box-shadow: 1px 0px 1px #ccc; | |||||
box-shadow: 1px 0px 1px #ccc; | |||||
} | |||||
.layout-side-section { | |||||
width: 22%; | |||||
/*float: right;*/ | |||||
color: #606060; | |||||
overflow-x: hidden; | |||||
padding: 15px; | |||||
min-height: 540px; | |||||
} | |||||
.breadcrumb-area, .breadcrumb-area span { | |||||
vertical-align: middle; | |||||
} | |||||
div.appframe-titlebar { | div.appframe-titlebar { | ||||
padding: 6px; | padding: 6px; |
@@ -29,12 +29,29 @@ a { | |||||
visibility: hidden; | visibility: hidden; | ||||
} | } | ||||
/* alert */ | |||||
#alert-container { | |||||
position: fixed; | |||||
bottom: 8px; | |||||
right: 8px; | |||||
z-index: 10; | |||||
} | |||||
#alert-container .alert { | #alert-container .alert { | ||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | ||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | ||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | ||||
overflow: hidden; | |||||
max-width: 400px; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
} | } | ||||
/* avatar */ | |||||
.avatar { | .avatar { | ||||
display: inline-block; | display: inline-block; | ||||
vertical-align: middle; | vertical-align: middle; | ||||
@@ -67,9 +84,7 @@ a { | |||||
width: 72px; | width: 72px; | ||||
} | } | ||||
.layout-main-section h4 { | |||||
margin-bottom: 3px; | |||||
} | |||||
/* slickgrid */ | |||||
..slick-cell { | ..slick-cell { | ||||
font-size: 12px; | font-size: 12px; | ||||
@@ -0,0 +1,51 @@ | |||||
/* layout */ | |||||
h5 { | |||||
margin-bottom: 0px; | |||||
} | |||||
.layout_wrapper, .layout-wrapper { | |||||
-moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
-webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
box-shadow: 0px 0px 3px rgba(0,0,0,0.9); | |||||
background-color: #fff; | |||||
padding: 15px; | |||||
} | |||||
.layout-wrapper-appframe { | |||||
padding: 0px; | |||||
} | |||||
.layout-main { | |||||
padding: 15px; | |||||
background-color: #fff; | |||||
} | |||||
.layout-wrapper-background { | |||||
background-color: #f2f2f2 !important; | |||||
padding: 0px; | |||||
} | |||||
.layout-main-section { | |||||
width: 71%; | |||||
float: left; | |||||
padding: 15px; | |||||
background-color: #FFF; | |||||
min-height: 540px; | |||||
-moz-box-shadow: 1px 0px 1px #ccc; | |||||
-webkit-box-shadow: 1px 0px 1px #ccc; | |||||
box-shadow: 1px 0px 1px #ccc; | |||||
} | |||||
.layout-side-section { | |||||
width: 22%; | |||||
/*float: right;*/ | |||||
color: #606060; | |||||
overflow-x: hidden; | |||||
padding: 15px; | |||||
min-height: 540px; | |||||
} | |||||
.layout-main-section h4 { | |||||
margin-bottom: 3px; | |||||
} |
@@ -18,7 +18,7 @@ | |||||
} | } | ||||
window.app = true; | window.app = true; | ||||
</script> | </script> | ||||
<script type="text/javascript" src="js/all-web.js"></script> | |||||
<script type="text/javascript" src="js/all-app.js"></script> | |||||
<link type="text/css" rel="stylesheet" href="css/all-app.css"> | <link type="text/css" rel="stylesheet" href="css/all-app.css"> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
@@ -1,38 +0,0 @@ | |||||
// Copyright (c) 2012 Web Notes Technologies Pvt Ltd (http://erpnext.com) | |||||
// | |||||
// MIT License (MIT) | |||||
// | |||||
// Permission is hereby granted, free of charge, to any person obtaining a | |||||
// copy of this software and associated documentation files (the "Software"), | |||||
// to deal in the Software without restriction, including without limitation | |||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||||
// and/or sell copies of the Software, and to permit persons to whom the | |||||
// Software is furnished to do so, subject to the following conditions: | |||||
// | |||||
// The above copyright notice and this permission notice shall be included in | |||||
// all copies or substantial portions of the Software. | |||||
// | |||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | |||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | |||||
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF | |||||
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE | |||||
// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||||
// | |||||
// find files changed since last version | |||||
if(!console) { | |||||
var console = { | |||||
log: function(txt) { | |||||
// suppress | |||||
} | |||||
} | |||||
} | |||||
/* start the application */ | |||||
$(document).ready(function() { | |||||
wn.assets.check(); | |||||
wn.provide('wn.app'); | |||||
$.extend(wn.app, new wn.Application()); | |||||
}); |
@@ -39,14 +39,7 @@ var top_index=91; | |||||
// form | // form | ||||
var _f = {}; | var _f = {}; | ||||
var _p = {}; | var _p = {}; | ||||
var _e = {}; | |||||
// report buidler | |||||
var _r = {}; | var _r = {}; | ||||
var FILTER_SEP = '\1'; | var FILTER_SEP = '\1'; | ||||
@@ -144,6 +144,17 @@ function replace_newlines(t) { | |||||
return t?t.replace(/\n/g, '<br>'):''; | return t?t.replace(/\n/g, '<br>'):''; | ||||
} | } | ||||
function cint(v, def) { | |||||
v=v+''; | |||||
v=lstrip(v, ['0']); | |||||
v=parseInt(v); | |||||
if(isNaN(v))v=def?def:0; return v; | |||||
} | |||||
function validate_email(id) { | |||||
if(strip(id.toLowerCase()).search("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")==-1) return 0; else return 1; } | |||||
function validate_spl_chars(txt) { | |||||
if(txt.search(/^[a-zA-Z0-9_\- ]*$/)==-1) return 1; else return 0; } | |||||
function cstr(s) { | function cstr(s) { | ||||
if(s==null)return ''; | if(s==null)return ''; | ||||
return s+''; | return s+''; | ||||
@@ -191,20 +191,6 @@ function add_sel_options(s, list, sel_val, o_style) { | |||||
} | } | ||||
} | } | ||||
function cint(v, def) { | |||||
v=v+''; | |||||
v=lstrip(v, ['0']); | |||||
v=parseInt(v); | |||||
if(isNaN(v))v=def?def:0; return v; | |||||
} | |||||
function validate_email(id) { | |||||
if(strip(id.toLowerCase()).search("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")==-1) return 0; else return 1; } | |||||
function validate_spl_chars(txt) { | |||||
if(txt.search(/^[a-zA-Z0-9_\- ]*$/)==-1) return 1; else return 0; } | |||||
function d2h(d) {return cint(d).toString(16);} | |||||
function h2d(h) {return parseInt(h,16);} | |||||
var $n = '\n'; | var $n = '\n'; | ||||
function set_title(t) { | function set_title(t) { | ||||
document.title = (wn.title_prefix ? (wn.title_prefix + ' - ') : '') + t; | document.title = (wn.title_prefix ? (wn.title_prefix + ' - ') : '') + t; | ||||
@@ -20,63 +20,25 @@ | |||||
// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | // OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
// | // | ||||
if(!console) { | |||||
var console = { | |||||
log: function(txt) { | |||||
// suppress | |||||
} | |||||
} | |||||
} | |||||
$(document).ready(function() { | |||||
wn.assets.check(); | |||||
wn.provide('wn.app'); | |||||
$.extend(wn.app, new wn.Application()); | |||||
}); | |||||
wn.Application = Class.extend({ | wn.Application = Class.extend({ | ||||
init: function() { | init: function() { | ||||
var me = this; | |||||
if(window.app) { | |||||
this.load_app_js(function() { me.load_startup() }); | |||||
} else { | |||||
this.load_startup(); | |||||
} | |||||
this.load_startup(); | |||||
}, | }, | ||||
load_app_js: function(callback) { | |||||
var all_app = localStorage.getItem("all-app"); | |||||
if(all_app) { | |||||
wn.dom.eval(all_app); | |||||
callback(); | |||||
return; | |||||
} | |||||
var dialog = new wn.ui.Dialog({ | |||||
title: "Loading...", | |||||
width: 500, | |||||
user_cannot_cancel: true | |||||
}); | |||||
dialog.show(); | |||||
wn.messages.waiting(dialog.body, "", 5); | |||||
var bar = $(dialog.body).find(".bar"); | |||||
$.ajax({ | |||||
url: "js/all-app.js", | |||||
success: function(data, status, xhr) { | |||||
// add it to localstorage | |||||
localStorage.setItem('all-app', xhr.responseText); | |||||
dialog.hide(); | |||||
callback(); | |||||
}, | |||||
xhr: function() { | |||||
var xhr = jQuery.ajaxSettings.xhr(); | |||||
interval = setInterval(function() { | |||||
if(xhr.readyState > 2) { | |||||
var total = parseInt(xhr.getResponseHeader('Content-Length')); | |||||
var completed = parseInt(xhr.responseText.length); | |||||
var percent = (100.0 / total * completed).toFixed(2); | |||||
bar.css('width', (percent < 10 ? 10 : percent) + '%'); | |||||
} | |||||
}, 50); | |||||
wn.last_xhr = xhr; | |||||
return xhr; | |||||
}, | |||||
error: function(xhr, status, e) { | |||||
console.log(e.message); | |||||
eval(xhr.responseText); | |||||
} | |||||
}); | |||||
}, | |||||
load_startup: function() { | load_startup: function() { | ||||
var me = this; | var me = this; | ||||
if(window.app) { | if(window.app) { | ||||
@@ -42,4 +42,5 @@ wn._ = function(txt) { | |||||
wn.provide("locals"); | wn.provide("locals"); | ||||
wn.provide("wn.settings"); | wn.provide("wn.settings"); | ||||
wn.provide("wn.utils"); | |||||
wn.provide("wn.ui"); | wn.provide("wn.ui"); |
@@ -86,10 +86,10 @@ function show_alert(txt, add_class) { | |||||
var div = $('<div class="alert">\ | var div = $('<div class="alert">\ | ||||
<a class="close">×</a>'+ txt +'</div>') | <a class="close">×</a>'+ txt +'</div>') | ||||
.appendTo('#alert-container') | .appendTo('#alert-container') | ||||
.addClass(add_class); | |||||
div.find('.close').click(function() { | div.find('.close').click(function() { | ||||
$(this).parent().remove(); | $(this).parent().remove(); | ||||
return false; | return false; | ||||
}); | }); | ||||
div.delay(7000).fadeOut(500); | |||||
return div; | return div; | ||||
} | } |