hobo_w2ui 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/hobo_w2ui.gemspec +0 -0
- data/vendor/assets/javascripts/w2ui-1.5.0.js +223 -163
- data/vendor/assets/stylesheets/w2ui-1.5.0.css +4 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd32730b9ec51461239534e4a74e9983e0c46ded
|
4
|
+
data.tar.gz: deb93dd861acf40e92ab2d64345d530e50042013
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65525b25d5b067b30494ec38bf828e264166fce3066ca795dc8f2a7f78fbcbca87da0818b3a75abbb852024079cede70f8a650f1839ad2e88db98bef8ba6d598
|
7
|
+
data.tar.gz: 2b0aac76c076a8fa94a3f0defc74bb08c5d73f3fe10dcbfd730e614cadc6192a9d6e1343a7266ff0ea0cc66703ab91644fb27dc6007a35c212c082b5423dcc96
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1
|
1
|
+
0.1.4
|
data/hobo_w2ui.gemspec
CHANGED
Binary file
|
@@ -1074,7 +1074,7 @@ w2utils.keyboard = (function (obj) {
|
|
1074
1074
|
var obj = w2ui[name];
|
1075
1075
|
if (name != w2ui_name) {
|
1076
1076
|
if (clear(event) === false) return; // event cancelled
|
1077
|
-
if (active(name) === false) return; // event cancelled
|
1077
|
+
if (active(name, event) === false) return; // event cancelled
|
1078
1078
|
}
|
1079
1079
|
if (obj && obj.keyboard) w2ui_name = name;
|
1080
1080
|
} else {
|
@@ -1082,7 +1082,7 @@ w2utils.keyboard = (function (obj) {
|
|
1082
1082
|
}
|
1083
1083
|
}
|
1084
1084
|
|
1085
|
-
function active (new_w2ui_name) {
|
1085
|
+
function active (new_w2ui_name, event) {
|
1086
1086
|
if (new_w2ui_name == null) return w2ui_name;
|
1087
1087
|
var obj = w2ui[new_w2ui_name];
|
1088
1088
|
if (obj && obj.focus) {
|
@@ -1126,12 +1126,10 @@ w2utils.keyboard = (function (obj) {
|
|
1126
1126
|
$.fn.w2marker = function () {
|
1127
1127
|
var str = Array.prototype.slice.call(arguments, 0);
|
1128
1128
|
if (str.length == 0 || !str[0]) { // remove marker
|
1129
|
-
return $(this).each(
|
1130
|
-
el.innerHTML = el.innerHTML.replace(/\<span class=\"w2ui\-marker\"\>(.*)\<\/span\>/ig, '$1'); // unmark
|
1131
|
-
});
|
1129
|
+
return $(this).each(clearMarkedText);
|
1132
1130
|
} else { // add marker
|
1133
1131
|
return $(this).each(function (index, el) {
|
1134
|
-
|
1132
|
+
clearMarkedText(index, el);
|
1135
1133
|
for (var s = 0; s < str.length; s++) {
|
1136
1134
|
var tmp = str[s];
|
1137
1135
|
if (typeof tmp !== 'string') tmp = String(tmp);
|
@@ -1145,6 +1143,12 @@ w2utils.keyboard = (function (obj) {
|
|
1145
1143
|
}
|
1146
1144
|
});
|
1147
1145
|
}
|
1146
|
+
|
1147
|
+
function clearMarkedText(index, el) {
|
1148
|
+
while (el.innerHTML.indexOf('<span class="w2ui-marker">') != -1) {
|
1149
|
+
el.innerHTML = el.innerHTML.replace(/\<span class=\"w2ui\-marker\"\>(.*)\<\/span\>/ig, '$1'); // unmark
|
1150
|
+
}
|
1151
|
+
}
|
1148
1152
|
};
|
1149
1153
|
|
1150
1154
|
// -- w2tag - appears on the right side from element, there can be multiple on screen at a time
|
@@ -1762,6 +1766,8 @@ w2utils.keyboard = (function (obj) {
|
|
1762
1766
|
* - record.style[field_name]
|
1763
1767
|
* - added focus(), blur(), onFocus, onBlur
|
1764
1768
|
* - added search.operator
|
1769
|
+
* - refactor reorderRow (not finished)
|
1770
|
+
* - return JSON can now have summary array
|
1765
1771
|
*
|
1766
1772
|
************************************************************************/
|
1767
1773
|
|
@@ -1876,6 +1882,7 @@ w2utils.keyboard = (function (obj) {
|
|
1876
1882
|
this.onStateRestore = null;
|
1877
1883
|
this.onFocus = null;
|
1878
1884
|
this.onBlur = null;
|
1885
|
+
this.onReorderRow = null;
|
1879
1886
|
|
1880
1887
|
// internal
|
1881
1888
|
this.last = {
|
@@ -1936,7 +1943,7 @@ w2utils.keyboard = (function (obj) {
|
|
1936
1943
|
|
1937
1944
|
// check if there are records without recid
|
1938
1945
|
if (records) for (var r = 0; r < records.length; r++) {
|
1939
|
-
if (records[r].recid == null
|
1946
|
+
if (records[r].recid == null && records[r][object.recid] == null) {
|
1940
1947
|
console.log('ERROR: Cannot add records without recid. (obj: '+ object.name +')');
|
1941
1948
|
return;
|
1942
1949
|
}
|
@@ -1945,7 +1952,7 @@ w2utils.keyboard = (function (obj) {
|
|
1945
1952
|
// add searches
|
1946
1953
|
for (var c in object.columns) {
|
1947
1954
|
var col = object.columns[c];
|
1948
|
-
if (
|
1955
|
+
if (col.searchable == null || col.searchable === false || object.getSearch(col.field) != null) continue;
|
1949
1956
|
var stype = col.searchable;
|
1950
1957
|
var attr = '';
|
1951
1958
|
if (col.searchable === true) { stype = 'text'; attr = 'size="20"'; }
|
@@ -2001,8 +2008,7 @@ w2utils.keyboard = (function (obj) {
|
|
2001
2008
|
if (!$.isArray(record)) record = [record];
|
2002
2009
|
var added = 0;
|
2003
2010
|
for (var o in record) {
|
2004
|
-
if (
|
2005
|
-
if (record[o].recid == null || typeof record[o].recid == 'undefined') {
|
2011
|
+
if (record[o].recid == null && record[o][this.recid] == null) {
|
2006
2012
|
console.log('ERROR: Cannot add record without recid. (obj: '+ this.name +')');
|
2007
2013
|
continue;
|
2008
2014
|
}
|
@@ -2020,7 +2026,7 @@ w2utils.keyboard = (function (obj) {
|
|
2020
2026
|
},
|
2021
2027
|
|
2022
2028
|
find: function (obj, returnIndex) {
|
2023
|
-
if (
|
2029
|
+
if (obj == null) obj = {};
|
2024
2030
|
var recs = [];
|
2025
2031
|
var hasDots = false;
|
2026
2032
|
// check if property is nested - needed for speed
|
@@ -2377,15 +2383,15 @@ w2utils.keyboard = (function (obj) {
|
|
2377
2383
|
}
|
2378
2384
|
switch (sdata.operator) {
|
2379
2385
|
case 'is':
|
2380
|
-
|
2386
|
+
if (obj.parseField(rec, search.field) == sdata.value) fl++; // do not hide record
|
2381
2387
|
if (search.type == 'date') {
|
2382
|
-
var tmp = (rec
|
2388
|
+
var tmp = (obj.parseField(rec, search.field + '_') instanceof Date ? obj.parseField(rec, search.field + '_') : obj.parseField(rec, search.field));
|
2383
2389
|
var val1 = w2utils.formatDate(tmp, 'yyyy-mm-dd');
|
2384
2390
|
var val2 = w2utils.formatDate(val2, 'yyyy-mm-dd');
|
2385
2391
|
if (val1 == val2) fl++;
|
2386
2392
|
}
|
2387
2393
|
if (search.type == 'time') {
|
2388
|
-
var tmp = (rec
|
2394
|
+
var tmp = (obj.parseField(rec, search.field + '_') instanceof Date ? obj.parseField(rec, search.field + '_') : obj.parseField(rec, search.field));
|
2389
2395
|
var val1 = w2utils.formatTime(tmp, 'h24:mi');
|
2390
2396
|
var val2 = w2utils.formatTime(val2, 'h24:mi');
|
2391
2397
|
if (val1 == val2) fl++;
|
@@ -2393,17 +2399,17 @@ w2utils.keyboard = (function (obj) {
|
|
2393
2399
|
break;
|
2394
2400
|
case 'between':
|
2395
2401
|
if (['int', 'float', 'money', 'currency', 'percent'].indexOf(search.type) != -1) {
|
2396
|
-
if (parseFloat(rec
|
2402
|
+
if (parseFloat(obj.parseField(rec, search.field)) >= parseFloat(val2) && parseFloat(obj.parseField(rec, search.field)) <= parseFloat(val3)) fl++;
|
2397
2403
|
}
|
2398
2404
|
if (search.type == 'date') {
|
2399
|
-
var val1 = (rec
|
2405
|
+
var val1 = (obj.parseField(rec, search.field + '_') instanceof Date ? obj.parseField(rec, search.field + '_') : obj.parseField(rec, search.field));
|
2400
2406
|
var val2 = w2utils.isDate(val2, w2utils.settings.date_format, true);
|
2401
2407
|
var val3 = w2utils.isDate(val3, w2utils.settings.date_format, true);
|
2402
2408
|
if (val3 != null) val3 = new Date(val3.getTime() + 86400000); // 1 day
|
2403
2409
|
if (val1 >= val2 && val1 < val3) fl++;
|
2404
2410
|
}
|
2405
2411
|
if (search.type == 'time') {
|
2406
|
-
var val1 = (rec
|
2412
|
+
var val1 = (obj.parseField(rec, search.field + '_') instanceof Date ? obj.parseField(rec, search.field + '_') : obj.parseField(rec, search.field));
|
2407
2413
|
var val2 = w2utils.isTime(val2, true);
|
2408
2414
|
var val3 = w2utils.isTime(val3, true);
|
2409
2415
|
val2 = (new Date()).setHours(val2.hours, val2.minutes, val2.seconds ? val2.seconds : 0, 0);
|
@@ -3118,7 +3124,7 @@ w2utils.keyboard = (function (obj) {
|
|
3118
3124
|
if ($.trim(value) != '') searchData.push(tmp);
|
3119
3125
|
}
|
3120
3126
|
// range in global search box
|
3121
|
-
if (['int', 'float', 'money', 'currency', 'percent'].indexOf(search.type) != -1 &&
|
3127
|
+
if (['int', 'float', 'money', 'currency', 'percent'].indexOf(search.type) != -1 && $.trim(String(value)).split('-').length == 2) {
|
3122
3128
|
var t = $.trim(String(value)).split('-');
|
3123
3129
|
var tmp = {
|
3124
3130
|
field : search.field,
|
@@ -3349,7 +3355,8 @@ w2utils.keyboard = (function (obj) {
|
|
3349
3355
|
if (field == 'all') {
|
3350
3356
|
var search = { field: 'all', caption: w2utils.lang('All Fields') };
|
3351
3357
|
el.w2field('clear');
|
3352
|
-
el.change()
|
3358
|
+
el.change();
|
3359
|
+
if (value !== null) el.focus();
|
3353
3360
|
} else {
|
3354
3361
|
var search = this.getSearch(field);
|
3355
3362
|
if (search == null) return;
|
@@ -3377,36 +3384,29 @@ w2utils.keyboard = (function (obj) {
|
|
3377
3384
|
$().w2overlay();
|
3378
3385
|
},
|
3379
3386
|
|
3387
|
+
// clears records and related params
|
3380
3388
|
clear: function (noRefresh) {
|
3381
|
-
|
3382
|
-
|
3383
|
-
this.
|
3384
|
-
this.
|
3385
|
-
this.
|
3386
|
-
|
3387
|
-
this.last.selection.indexes = [];
|
3388
|
-
this.last.selection.columns = {};
|
3389
|
-
this.last.range_start = null;
|
3390
|
-
this.last.range_end = null;
|
3391
|
-
this.last.xhr_offset = 0; // need this for reload button to work on remote data set
|
3389
|
+
this.total = 0;
|
3390
|
+
this.records = [];
|
3391
|
+
this.summary = [];
|
3392
|
+
this.last.xhr_offset = 0; // need this for reload button to work on remote data set
|
3393
|
+
this.reset(true);
|
3394
|
+
// refresh
|
3392
3395
|
if (!noRefresh) this.refresh();
|
3393
3396
|
},
|
3394
3397
|
|
3398
|
+
// clears scroll position, selection, ranges, goes to initial sort
|
3395
3399
|
reset: function (noRefresh) {
|
3396
|
-
//
|
3397
|
-
|
3398
|
-
this.last.
|
3399
|
-
this.last.
|
3400
|
-
this.last.
|
3401
|
-
this.last.
|
3402
|
-
|
3403
|
-
this.last.
|
3404
|
-
this.last.xhr_offset = 0;
|
3405
|
-
// this.searchReset(noRefresh); // do not reset search fields
|
3406
|
-
// initial sort
|
3407
|
-
if (this.last.sortData != null ) this.sortData = this.last.sortData;
|
3408
|
-
// select none without refresh
|
3400
|
+
// position
|
3401
|
+
this.last.scrollTop = 0;
|
3402
|
+
this.last.scrollLeft = 0;
|
3403
|
+
this.last.selection = { indexes : [], column : {} };
|
3404
|
+
this.last.range_start = null;
|
3405
|
+
this.last.range_end = null;
|
3406
|
+
// additional
|
3407
|
+
this.sortData = (this.last.initialSort != null ? this.last.initialSort : []);
|
3409
3408
|
this.set({ expanded: false }, true);
|
3409
|
+
$('#grid_'+ this.name +'_records').prop('scrollTop', 0);
|
3410
3410
|
// refresh
|
3411
3411
|
if (!noRefresh) this.refresh();
|
3412
3412
|
},
|
@@ -3417,12 +3417,7 @@ w2utils.keyboard = (function (obj) {
|
|
3417
3417
|
this.offset = parseInt(offset);
|
3418
3418
|
if (this.offset > this.total) this.offset = this.total - this.limit;
|
3419
3419
|
if (this.offset < 0 || !w2utils.isInt(this.offset)) this.offset = 0;
|
3420
|
-
this.
|
3421
|
-
this.last.xhr_offset = 0;
|
3422
|
-
this.last.pull_more = true;
|
3423
|
-
this.last.scrollTop = 0;
|
3424
|
-
this.last.scrollLeft = 0;
|
3425
|
-
$('#grid_'+ this.name +'_records').prop('scrollTop', 0);
|
3420
|
+
this.clear(true);
|
3426
3421
|
this.reload();
|
3427
3422
|
} else {
|
3428
3423
|
console.log('ERROR: grid.skip() can only be called when you have remote data source.');
|
@@ -3430,33 +3425,29 @@ w2utils.keyboard = (function (obj) {
|
|
3430
3425
|
},
|
3431
3426
|
|
3432
3427
|
load: function (url, callBack) {
|
3433
|
-
if (
|
3428
|
+
if (url == null) {
|
3434
3429
|
console.log('ERROR: You need to provide url argument when calling .load() method of "'+ this.name +'" object.');
|
3435
3430
|
return;
|
3436
3431
|
}
|
3437
3432
|
// default action
|
3433
|
+
this.clear(true);
|
3438
3434
|
this.request('get-records', {}, url, callBack);
|
3439
3435
|
},
|
3440
3436
|
|
3441
3437
|
reload: function (callBack) {
|
3442
3438
|
var url = (typeof this.url != 'object' ? this.url : this.url.get);
|
3443
3439
|
if (url) {
|
3444
|
-
this.
|
3445
|
-
this.request('get-records', {}, null, callBack);
|
3440
|
+
this.load(url, callBack);
|
3446
3441
|
} else {
|
3447
|
-
this.
|
3448
|
-
this.last.scrollLeft = 0;
|
3449
|
-
this.last.range_start = null;
|
3450
|
-
this.last.range_end = null;
|
3442
|
+
this.reset();
|
3451
3443
|
this.localSearch();
|
3452
|
-
this.refresh();
|
3453
3444
|
if (typeof callBack == 'function') callBack({ status: 'success' });
|
3454
3445
|
}
|
3455
3446
|
},
|
3456
3447
|
|
3457
3448
|
request: function (cmd, add_params, url, callBack) {
|
3458
3449
|
if (typeof add_params == 'undefined') add_params = {};
|
3459
|
-
if (
|
3450
|
+
if (url == '' || url == null) url = this.url;
|
3460
3451
|
if (url == '' || url == null) return;
|
3461
3452
|
// build parameters list
|
3462
3453
|
var params = {};
|
@@ -3626,9 +3617,7 @@ w2utils.keyboard = (function (obj) {
|
|
3626
3617
|
if (this.last.xhr_offset == 0) {
|
3627
3618
|
this.records = [];
|
3628
3619
|
this.summary = [];
|
3629
|
-
|
3630
|
-
delete data.status;
|
3631
|
-
$.extend(true, this, data);
|
3620
|
+
if (w2utils.isInt(data.total)) this.total = parseInt(data.total);
|
3632
3621
|
} else {
|
3633
3622
|
if (parseInt(data.total) != parseInt(this.total)) {
|
3634
3623
|
w2alert(this.msgNeedReload);
|
@@ -3636,14 +3625,20 @@ w2utils.keyboard = (function (obj) {
|
|
3636
3625
|
this.reload();
|
3637
3626
|
return;
|
3638
3627
|
}
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
3642
|
-
|
3643
|
-
|
3644
|
-
this.records.push(records[r]);
|
3628
|
+
}
|
3629
|
+
// records
|
3630
|
+
if (data.records) {
|
3631
|
+
for (var r = 0; r < data.records.length; r++) {
|
3632
|
+
this.records.push(data.records[r]);
|
3645
3633
|
}
|
3646
3634
|
}
|
3635
|
+
// summary records (if any)
|
3636
|
+
if (data.summary) {
|
3637
|
+
this.summary = [];
|
3638
|
+
for (var r = 0; r < data.summary.length; r++) {
|
3639
|
+
this.summary.push(data.summary[r]);
|
3640
|
+
}
|
3641
|
+
}
|
3647
3642
|
}
|
3648
3643
|
if (cmd == 'delete-records') {
|
3649
3644
|
this.reset(); // unselect old selections
|
@@ -3768,8 +3763,8 @@ w2utils.keyboard = (function (obj) {
|
|
3768
3763
|
if (typeof edit.style == 'undefined') edit.style = '';
|
3769
3764
|
if (typeof edit.items == 'undefined') edit.items = [];
|
3770
3765
|
var val = (rec.changes && typeof rec.changes[col.field] != 'undefined' ? w2utils.stripTags(rec.changes[col.field]) : w2utils.stripTags(rec[col.field]));
|
3771
|
-
if (val == null
|
3772
|
-
if (
|
3766
|
+
if (val == null) val = '';
|
3767
|
+
if (value != null) val = value;
|
3773
3768
|
var addStyle = (typeof col.style != 'undefined' ? col.style + ';' : '');
|
3774
3769
|
if (typeof col.render == 'string' && ['number', 'int', 'float', 'money', 'percent'].indexOf(col.render.split(':')[0]) != -1) {
|
3775
3770
|
addStyle += 'text-align: right;';
|
@@ -3958,6 +3953,7 @@ w2utils.keyboard = (function (obj) {
|
|
3958
3953
|
phase: 'before', type: 'change', target: this.name, input_id: el.id, recid: rec.recid, index: index, column: column,
|
3959
3954
|
value_new: new_val, value_previous: (rec.changes && rec.changes.hasOwnProperty(col.field) ? rec.changes[col.field]: old_val), value_original: old_val
|
3960
3955
|
};
|
3956
|
+
if (old_val == null) old_val = '';
|
3961
3957
|
while (true) {
|
3962
3958
|
new_val = eventData.value_new;
|
3963
3959
|
if ((typeof new_val != 'object' && String(old_val) != String(new_val)) ||
|
@@ -4291,7 +4287,7 @@ w2utils.keyboard = (function (obj) {
|
|
4291
4287
|
var recid = parent.prev().attr('recid');
|
4292
4288
|
var grid = parent.parents('.w2ui-grid').attr('name');
|
4293
4289
|
obj.selectNone();
|
4294
|
-
w2utils.keyboard.active(grid);
|
4290
|
+
w2utils.keyboard.active(grid, event);
|
4295
4291
|
w2ui[grid].set(recid, { expanded: false });
|
4296
4292
|
w2ui[grid].collapse(recid);
|
4297
4293
|
w2ui[grid].click(recid);
|
@@ -4397,7 +4393,7 @@ w2utils.keyboard = (function (obj) {
|
|
4397
4393
|
obj.selectNone();
|
4398
4394
|
var grid = subgrid.attr('name');
|
4399
4395
|
var recs = w2ui[grid].records;
|
4400
|
-
w2utils.keyboard.active(grid);
|
4396
|
+
w2utils.keyboard.active(grid, event);
|
4401
4397
|
w2ui[grid].click(recs[recs.length-1].recid);
|
4402
4398
|
cancel = true;
|
4403
4399
|
break;
|
@@ -4444,7 +4440,7 @@ w2utils.keyboard = (function (obj) {
|
|
4444
4440
|
var recid = parent.prev().attr('recid');
|
4445
4441
|
var grid = parent.parents('.w2ui-grid').attr('name');
|
4446
4442
|
obj.selectNone();
|
4447
|
-
w2utils.keyboard.active(grid);
|
4443
|
+
w2utils.keyboard.active(grid, event);
|
4448
4444
|
w2ui[grid].click(recid);
|
4449
4445
|
cancel = true;
|
4450
4446
|
break;
|
@@ -4462,7 +4458,7 @@ w2utils.keyboard = (function (obj) {
|
|
4462
4458
|
obj.selectNone();
|
4463
4459
|
var grid = subgrid.attr('name');
|
4464
4460
|
var recs = w2ui[grid].records;
|
4465
|
-
w2utils.keyboard.active(grid);
|
4461
|
+
w2utils.keyboard.active(grid, event);
|
4466
4462
|
w2ui[grid].click(recs[0].recid);
|
4467
4463
|
cancel = true;
|
4468
4464
|
break;
|
@@ -4512,7 +4508,7 @@ w2utils.keyboard = (function (obj) {
|
|
4512
4508
|
var recid = parent.next().attr('recid');
|
4513
4509
|
var grid = parent.parents('.w2ui-grid').attr('name');
|
4514
4510
|
obj.selectNone();
|
4515
|
-
w2utils.keyboard.active(grid);
|
4511
|
+
w2utils.keyboard.active(grid, event);
|
4516
4512
|
w2ui[grid].click(recid);
|
4517
4513
|
cancel = true;
|
4518
4514
|
break;
|
@@ -4533,11 +4529,11 @@ w2utils.keyboard = (function (obj) {
|
|
4533
4529
|
' style="position: absolute; top: -100px; height: 1px; width: 1px">'+ text +'</textarea>');
|
4534
4530
|
$('#_tmp_copy_data').focus().select();
|
4535
4531
|
// remove _tmp_copy_data textarea
|
4536
|
-
|
4537
|
-
|
4538
|
-
$(
|
4539
|
-
$(document).off('keyup', tmp_key_down);
|
4532
|
+
function tmp_key_down() {
|
4533
|
+
$('#_tmp_copy_data').remove();
|
4534
|
+
$(document).off('keyup', tmp_key_down);
|
4540
4535
|
}
|
4536
|
+
$(document).on('keyup', tmp_key_down);
|
4541
4537
|
break;
|
4542
4538
|
|
4543
4539
|
case 88: // x - cut
|
@@ -5002,6 +4998,18 @@ w2utils.keyboard = (function (obj) {
|
|
5002
4998
|
var rec_html = this.getRecordHTML(ind, line, isSummary);
|
5003
4999
|
$(tr1).replaceWith(rec_html[0]);
|
5004
5000
|
$(tr2).replaceWith(rec_html[1]);
|
5001
|
+
// apply style to row if it was changed in render functions
|
5002
|
+
var st = this.records[ind].style;
|
5003
|
+
if (typeof st == 'string') {
|
5004
|
+
var tr1 = $(this.box).find('#grid_'+ this.name +'_frec_'+ w2utils.escapeId(recid));
|
5005
|
+
var tr2 = $(this.box).find('#grid_'+ this.name +'_rec_'+ w2utils.escapeId(recid));
|
5006
|
+
tr1.attr('custom_style', st);
|
5007
|
+
tr2.attr('custom_style', st);
|
5008
|
+
if (!tr1.hasClass('w2ui-selected')) {
|
5009
|
+
tr1[0].style.cssText = 'height: '+ this.recordHeight + 'px;' + st;
|
5010
|
+
tr2[0].style.cssText = 'height: '+ this.recordHeight + 'px;' +st;
|
5011
|
+
}
|
5012
|
+
}
|
5005
5013
|
if (isSummary) this.resize();
|
5006
5014
|
}
|
5007
5015
|
},
|
@@ -5160,7 +5168,7 @@ w2utils.keyboard = (function (obj) {
|
|
5160
5168
|
this.box = box;
|
5161
5169
|
}
|
5162
5170
|
if (!this.box) return;
|
5163
|
-
if (this.last.
|
5171
|
+
if (this.last.initialSort == null) this.last.initialSort = this.sortData;
|
5164
5172
|
// event before
|
5165
5173
|
var eventData = this.trigger({ phase: 'before', target: this.name, type: 'render', box: box });
|
5166
5174
|
if (eventData.isCancelled === true) return;
|
@@ -5241,6 +5249,45 @@ w2utils.keyboard = (function (obj) {
|
|
5241
5249
|
start : true
|
5242
5250
|
};
|
5243
5251
|
}
|
5252
|
+
if (obj.reorderRows == true) {
|
5253
|
+
var el = event.target;
|
5254
|
+
if (el.tagName != 'TD') el = $(el).parents('td')[0];
|
5255
|
+
if ($(el).hasClass('w2ui-col-number')) {
|
5256
|
+
obj.selectNone();
|
5257
|
+
obj.last.move.reorder = true;
|
5258
|
+
// supress hover
|
5259
|
+
var eColor = $(obj.box).find('.w2ui-even.w2ui-empty-record').css('background-color');
|
5260
|
+
var oColor = $(obj.box).find('.w2ui-odd.w2ui-empty-record').css('background-color');
|
5261
|
+
$(obj.box).find('.w2ui-even td').not('.w2ui-col-number').css('background-color', eColor);
|
5262
|
+
$(obj.box).find('.w2ui-odd td').not('.w2ui-col-number').css('background-color', oColor);
|
5263
|
+
// display empty record and ghost record
|
5264
|
+
var mv = obj.last.move;
|
5265
|
+
if (!mv.ghost) {
|
5266
|
+
var row = $('#grid_'+ obj.name + '_rec_'+ mv.recid);
|
5267
|
+
var tmp = row.parents('table').find('tr:first-child').clone();
|
5268
|
+
mv.offsetY = event.offsetY;
|
5269
|
+
mv.from = mv.recid;
|
5270
|
+
mv.pos = row.position();
|
5271
|
+
mv.ghost = $(row).clone(true);
|
5272
|
+
mv.ghost.removeAttr('id');
|
5273
|
+
row.find('td').remove();
|
5274
|
+
row.append('<td colspan="1000" style="height: '+ obj.recordHeight +'px; background-color: #eee; border-bottom: 1px dashed #aaa; border-top: 1px dashed #aaa;"></td>');
|
5275
|
+
var recs = $(obj.box).find('.w2ui-grid-records');
|
5276
|
+
recs.append('<table id="grid_'+ obj.name + '_ghost" style="position: absolute; z-index: 999999; opacity: 0.7; pointer-events: none;"></table>');
|
5277
|
+
$('#grid_'+ obj.name + '_ghost').append(tmp).append(mv.ghost);
|
5278
|
+
}
|
5279
|
+
var ghost = $('#grid_'+ obj.name + '_ghost');
|
5280
|
+
var recs = $(obj.box).find('.w2ui-grid-records');
|
5281
|
+
ghost.css({
|
5282
|
+
top : mv.pos.top + recs.scrollTop(),
|
5283
|
+
left : mv.pos.left,
|
5284
|
+
"border-top" : '1px solid #aaa',
|
5285
|
+
"border-bottom" : '1px solid #aaa'
|
5286
|
+
});
|
5287
|
+
} else {
|
5288
|
+
obj.last.move.reorder = false;
|
5289
|
+
}
|
5290
|
+
}
|
5244
5291
|
$(document).on('mousemove', mouseMove);
|
5245
5292
|
$(document).on('mouseup', mouseStop);
|
5246
5293
|
}
|
@@ -5252,32 +5299,23 @@ w2utils.keyboard = (function (obj) {
|
|
5252
5299
|
mv.divY = (event.screenY - mv.y);
|
5253
5300
|
if (Math.abs(mv.divX) <= 1 && Math.abs(mv.divY) <= 1) return; // only if moved more then 1px
|
5254
5301
|
obj.last.cancelClick = true;
|
5255
|
-
if (obj.reorderRows == true) {
|
5256
|
-
|
5257
|
-
|
5258
|
-
var tmp = row.parents('table').find('tr:first-child').clone();
|
5259
|
-
mv.offsetY = event.offsetY;
|
5260
|
-
mv.from = mv.recid;
|
5261
|
-
mv.pos = row.position();
|
5262
|
-
mv.ghost = $(row).clone(true);
|
5263
|
-
mv.ghost.removeAttr('id');
|
5264
|
-
row.find('td:first-child').replaceWith('<td colspan="1000" style="height: '+ obj.recordHeight +'px; background-color: #ddd"></td>');
|
5265
|
-
var recs = $(obj.box).find('.w2ui-grid-records');
|
5266
|
-
recs.append('<table id="grid_'+ obj.name + '_ghost" style="position: absolute; z-index: 999999; opacity: 0.8; border-bottom: 2px dashed #aaa; border-top: 2px dashed #aaa; pointer-events: none;"></table>');
|
5267
|
-
$('#grid_'+ obj.name + '_ghost').append(tmp).append(mv.ghost);
|
5268
|
-
}
|
5269
|
-
var recid = $(event.target).parents('tr').attr('recid');
|
5302
|
+
if (obj.reorderRows == true && obj.last.move.reorder) {
|
5303
|
+
var tmp = $(event.target).parents('tr');
|
5304
|
+
var recid = tmp.attr('recid');
|
5270
5305
|
if (recid != mv.from) {
|
5271
5306
|
var row1 = $('#grid_'+ obj.name + '_rec_'+ mv.recid);
|
5272
5307
|
var row2 = $('#grid_'+ obj.name + '_rec_'+ recid);
|
5273
|
-
|
5308
|
+
$(obj.box).find('.tmp-ghost').css('border-top', '0px');
|
5309
|
+
row2.addClass('tmp-ghost').css('border-top', '2px solid #769EFC');
|
5310
|
+
// MOVABLE GHOST
|
5311
|
+
// if (event.screenY - mv.lastY < 0) row1.after(row2); else row2.after(row1);
|
5274
5312
|
mv.lastY = event.screenY;
|
5275
5313
|
mv.to = recid;
|
5276
5314
|
}
|
5277
5315
|
var ghost = $('#grid_'+ obj.name + '_ghost');
|
5278
5316
|
var recs = $(obj.box).find('.w2ui-grid-records');
|
5279
5317
|
ghost.css({
|
5280
|
-
top
|
5318
|
+
top : mv.pos.top + mv.divY + recs.scrollTop(),
|
5281
5319
|
left : mv.pos.left
|
5282
5320
|
});
|
5283
5321
|
return;
|
@@ -5347,14 +5385,31 @@ w2utils.keyboard = (function (obj) {
|
|
5347
5385
|
setTimeout(function () { delete obj.last.cancelClick; }, 1);
|
5348
5386
|
if ($(event.target).parents().hasClass('.w2ui-head') || $(event.target).hasClass('.w2ui-head')) return;
|
5349
5387
|
if (mv && mv.type == 'select') {
|
5350
|
-
if (obj.reorderRows == true) {
|
5388
|
+
if (obj.reorderRows == true && obj.last.move.reorder) {
|
5389
|
+
// event
|
5390
|
+
var eventData = obj.trigger({ phase: 'before', target: obj.name, type: 'reorderRow', recid: mv.from, moveAfter: mv.to });
|
5391
|
+
if (eventData.isCancelled === true) {
|
5392
|
+
$('#grid_'+ obj.name + '_ghost').remove();
|
5393
|
+
obj.refresh();
|
5394
|
+
return;
|
5395
|
+
}
|
5396
|
+
// default behavior
|
5351
5397
|
var ind1 = obj.get(mv.from, true);
|
5352
|
-
var tmp = obj.records[ind1];
|
5353
|
-
obj.records.splice(ind1, 1);
|
5354
5398
|
var ind2 = obj.get(mv.to, true);
|
5355
|
-
|
5399
|
+
var tmp = obj.records[ind1];
|
5400
|
+
// swap records
|
5401
|
+
if (ind1 != null && ind2 != null) {
|
5402
|
+
obj.records.splice(ind1, 1);
|
5403
|
+
if (ind1 > ind2) {
|
5404
|
+
obj.records.splice(ind2, 0, tmp);
|
5405
|
+
} else {
|
5406
|
+
obj.records.splice(ind2 - 1, 0, tmp);
|
5407
|
+
}
|
5408
|
+
}
|
5356
5409
|
$('#grid_'+ obj.name + '_ghost').remove();
|
5357
5410
|
obj.refresh();
|
5411
|
+
// event after
|
5412
|
+
obj.trigger($.extend(eventData, { phase: 'after' }));
|
5358
5413
|
}
|
5359
5414
|
}
|
5360
5415
|
delete obj.last.move;
|
@@ -5747,7 +5802,7 @@ w2utils.keyboard = (function (obj) {
|
|
5747
5802
|
'<table cellpadding="0" cellspacing="0"><tr>'+
|
5748
5803
|
' <td>'+ this.buttons['search'].html +'</td>'+
|
5749
5804
|
' <td>'+
|
5750
|
-
' <input id="grid_'+ this.name +'_search_all" class="w2ui-search-all" '+
|
5805
|
+
' <input type="text" id="grid_'+ this.name +'_search_all" class="w2ui-search-all" '+
|
5751
5806
|
' placeholder="'+ this.last.caption +'" value="'+ this.last.search +'"'+
|
5752
5807
|
' onkeydown="if (event.keyCode == 13 && w2utils.isIE) this.onchange();"'+
|
5753
5808
|
' onchange="'+
|
@@ -5997,12 +6052,7 @@ w2utils.keyboard = (function (obj) {
|
|
5997
6052
|
|
5998
6053
|
var bodyOverflowX = false;
|
5999
6054
|
var bodyOverflowY = false;
|
6000
|
-
if (body.width() < $(records).find('>table').width() + $(frecords).find('>table').width()
|
6001
|
-
if (body.height() - columns.height() < $(records).find('>table').height() + (bodyOverflowX ? w2utils.scrollBarSize() : 0)) bodyOverflowY = true;
|
6002
|
-
|
6003
|
-
var bodyOverflowX = false;
|
6004
|
-
var bodyOverflowY = false;
|
6005
|
-
if (body.width() < $(records).find('>table').width() + $(frecords).find('>table').width() + 5) bodyOverflowX = true;
|
6055
|
+
if (body.width() < $(records).find('>table').width() + $(frecords).find('>table').width()) bodyOverflowX = true;
|
6006
6056
|
if (body.height() - columns.height() < $(records).find('>table').height() + (bodyOverflowX ? w2utils.scrollBarSize() : 0)) bodyOverflowY = true;
|
6007
6057
|
|
6008
6058
|
// body might be expanded by data
|
@@ -6093,7 +6143,8 @@ w2utils.keyboard = (function (obj) {
|
|
6093
6143
|
- (bodyOverflowY ? w2utils.scrollBarSize() : 0)
|
6094
6144
|
- (this.show.lineNumbers ? lineNumberWidth : 0)
|
6095
6145
|
- (this.show.selectColumn ? 26 : 0)
|
6096
|
-
- (this.show.expandColumn ? 26 : 0)
|
6146
|
+
- (this.show.expandColumn ? 26 : 0)
|
6147
|
+
- 1; // left is 1xp due to border width
|
6097
6148
|
var width_box = width_max;
|
6098
6149
|
var percent = 0;
|
6099
6150
|
// gridMinWidth processiong
|
@@ -6895,6 +6946,7 @@ w2utils.keyboard = (function (obj) {
|
|
6895
6946
|
record = this.summary[ind];
|
6896
6947
|
}
|
6897
6948
|
if (!record) return '';
|
6949
|
+
if (record.recid == null && this.recid != null && record[this.recid] != null) record.recid = record[this.recid];
|
6898
6950
|
var id = w2utils.escapeId(record.recid);
|
6899
6951
|
var isRowSelected = false;
|
6900
6952
|
if (sel.indexes.indexOf(ind) != -1) isRowSelected = true;
|
@@ -6939,7 +6991,8 @@ w2utils.keyboard = (function (obj) {
|
|
6939
6991
|
'>';
|
6940
6992
|
if (this.show.lineNumbers) {
|
6941
6993
|
rec_html1 += '<td id="grid_'+ this.name +'_cell_'+ ind +'_number' + (summary ? '_s' : '') + '" '+
|
6942
|
-
' class="w2ui-col-number '+ (isRowSelected ? ' w2ui-row-selected' : '') +'"
|
6994
|
+
' class="w2ui-col-number '+ (isRowSelected ? ' w2ui-row-selected' : '') +'"'+
|
6995
|
+
(this.reorderRows ? 'style="cursor: move"' : '') + '>'+
|
6943
6996
|
(summary !== true ? '<div>'+ lineNum +'</div>' : '') +
|
6944
6997
|
'</td>';
|
6945
6998
|
}
|
@@ -7088,7 +7141,7 @@ w2utils.keyboard = (function (obj) {
|
|
7088
7141
|
var data = '<div title="'+ w2utils.stripTags(title) +'" style="'+ addStyle +'">'+ data +'</div>';
|
7089
7142
|
}
|
7090
7143
|
}
|
7091
|
-
if (data == null
|
7144
|
+
if (data == null) data = '';
|
7092
7145
|
return data;
|
7093
7146
|
},
|
7094
7147
|
|
@@ -7096,11 +7149,17 @@ w2utils.keyboard = (function (obj) {
|
|
7096
7149
|
var col = this.columns[col_ind];
|
7097
7150
|
var record = (summary !== true ? this.records[ind] : this.summary[ind]);
|
7098
7151
|
var data = this.parseField(record, col.field);
|
7099
|
-
if (record.changes && typeof record.changes[col.field] != 'undefined')
|
7100
|
-
|
7152
|
+
if (record.changes && typeof record.changes[col.field] != 'undefined') {
|
7153
|
+
data = record.changes[col.field];
|
7154
|
+
if ($.isPlainObject(data)) {
|
7155
|
+
if (data.text != null) data = data.text;
|
7156
|
+
if (data.id != null) data = data.id;
|
7157
|
+
}
|
7158
|
+
}
|
7159
|
+
if (data == null) data = '';
|
7101
7160
|
return data;
|
7102
7161
|
},
|
7103
|
-
|
7162
|
+
|
7104
7163
|
getFooterHTML: function () {
|
7105
7164
|
return '<div>'+
|
7106
7165
|
' <div class="w2ui-footer-left"></div>'+
|
@@ -7134,9 +7193,8 @@ w2utils.keyboard = (function (obj) {
|
|
7134
7193
|
},
|
7135
7194
|
|
7136
7195
|
lock: function (msg, showSpinner) {
|
7137
|
-
var box = $(this.box).find('> div:first-child');
|
7138
7196
|
var args = Array.prototype.slice.call(arguments, 0);
|
7139
|
-
args.unshift(box);
|
7197
|
+
args.unshift(this.box);
|
7140
7198
|
setTimeout(function () { w2utils.lock.apply(window, args); }, 10);
|
7141
7199
|
},
|
7142
7200
|
|
@@ -7166,11 +7224,11 @@ w2utils.keyboard = (function (obj) {
|
|
7166
7224
|
var col = this.columns[i];
|
7167
7225
|
state.columns.push({
|
7168
7226
|
field : col.field,
|
7169
|
-
hidden : col.hidden,
|
7170
|
-
size : col.size,
|
7171
|
-
sizeCalculated : col.sizeCalculated,
|
7172
|
-
sizeOriginal : col.sizeOriginal,
|
7173
|
-
sizeType : col.sizeType
|
7227
|
+
hidden : col.hidden ? true : false,
|
7228
|
+
size : col.size ? col.size : null,
|
7229
|
+
sizeCalculated : col.sizeCalculated ? col.sizeCalculated : null,
|
7230
|
+
sizeOriginal : col.sizeOriginal ? col.sizeOriginal : null,
|
7231
|
+
sizeType : col.sizeType ? col.sizeType : null
|
7174
7232
|
});
|
7175
7233
|
}
|
7176
7234
|
for (var i = 0; i < this.sortData.length; i++) state.sortData.push($.extend({}, this.sortData[i]));
|
@@ -8788,7 +8846,7 @@ var w2popup = {};
|
|
8788
8846
|
obj.trigger($.extend(eventData, { phase: 'after'}));
|
8789
8847
|
}, options.speed * 1000);
|
8790
8848
|
// restore active
|
8791
|
-
w2utils.keyboard.active(options._last_w2ui_name);
|
8849
|
+
w2utils.keyboard.active(options._last_w2ui_name, {});
|
8792
8850
|
// remove keyboard events
|
8793
8851
|
if (options.keyboard) $(document).off('keydown', this.keydown);
|
8794
8852
|
},
|
@@ -9817,16 +9875,16 @@ var w2confirm = function (msg, title, callBack) {
|
|
9817
9875
|
if (!$.isArray(items)) items = [items];
|
9818
9876
|
for (var o = 0; o < items.length; o++) {
|
9819
9877
|
// checks
|
9820
|
-
if (typeof items[o].type
|
9878
|
+
if (typeof items[o].type == 'undefined') {
|
9821
9879
|
console.log('ERROR: The parameter "type" is required but not supplied in w2toolbar.add() method.');
|
9822
9880
|
return;
|
9823
9881
|
}
|
9824
|
-
if ($.inArray(String(items[o].type), ['button', 'check', 'radio', 'drop', 'menu', 'break', 'html', 'spacer'])
|
9882
|
+
if ($.inArray(String(items[o].type), ['button', 'check', 'radio', 'drop', 'menu', 'break', 'html', 'spacer']) == -1) {
|
9825
9883
|
console.log('ERROR: The parameter "type" should be one of the following [button, check, radio, drop, menu, break, html, spacer] '+
|
9826
9884
|
'in w2toolbar.add() method.');
|
9827
9885
|
return;
|
9828
9886
|
}
|
9829
|
-
if (typeof items[o].id
|
9887
|
+
if (typeof items[o].id == 'undefined') {
|
9830
9888
|
console.log('ERROR: The parameter "id" is required but not supplied in w2toolbar.add() method.');
|
9831
9889
|
return;
|
9832
9890
|
}
|
@@ -9860,21 +9918,21 @@ var w2confirm = function (msg, title, callBack) {
|
|
9860
9918
|
|
9861
9919
|
set: function (id, item) {
|
9862
9920
|
var index = this.get(id, true);
|
9863
|
-
if (index
|
9921
|
+
if (index == null) return false;
|
9864
9922
|
$.extend(this.items[index], item);
|
9865
9923
|
this.refresh(id);
|
9866
9924
|
return true;
|
9867
9925
|
},
|
9868
9926
|
|
9869
9927
|
get: function (id, returnIndex) {
|
9870
|
-
if (arguments.length
|
9928
|
+
if (arguments.length == 0) {
|
9871
9929
|
var all = [];
|
9872
9930
|
for (var i1 = 0; i1 < this.items.length; i1++) if (this.items[i1].id !== null) all.push(this.items[i1].id);
|
9873
9931
|
return all;
|
9874
9932
|
}
|
9875
9933
|
for (var i2 = 0; i2 < this.items.length; i2++) {
|
9876
|
-
if (this.items[i2].id
|
9877
|
-
if (returnIndex
|
9934
|
+
if (this.items[i2].id == id) {
|
9935
|
+
if (returnIndex == true) return i2; else return this.items[i2];
|
9878
9936
|
}
|
9879
9937
|
}
|
9880
9938
|
return null;
|
@@ -10014,9 +10072,9 @@ var w2confirm = function (msg, title, callBack) {
|
|
10014
10072
|
'<tr>';
|
10015
10073
|
for (var i = 0; i < this.items.length; i++) {
|
10016
10074
|
var it = this.items[i];
|
10075
|
+
if (it == null) continue;
|
10017
10076
|
if (it.id == null) it.id = "item_" + i;
|
10018
|
-
if (it
|
10019
|
-
if (it.type === 'spacer') {
|
10077
|
+
if (it.type == 'spacer') {
|
10020
10078
|
html += '<td width="100%" id="tb_'+ this.name +'_item_'+ it.id +'" align="right"></td>';
|
10021
10079
|
} else {
|
10022
10080
|
html += '<td id="tb_'+ this.name + '_item_'+ it.id +'" style="'+ (it.hidden ? 'display: none' : '') +'" '+
|
@@ -10053,20 +10111,20 @@ var w2confirm = function (msg, title, callBack) {
|
|
10053
10111
|
}
|
10054
10112
|
// create or refresh only one item
|
10055
10113
|
var it = this.get(id);
|
10056
|
-
if (it
|
10114
|
+
if (it == null) return false;
|
10057
10115
|
|
10058
10116
|
var el = $(this.box).find('#tb_'+ this.name +'_item_'+ w2utils.escapeId(it.id));
|
10059
10117
|
var html = this.getItemHTML(it);
|
10060
|
-
if (el.length
|
10118
|
+
if (el.length == 0) {
|
10061
10119
|
// does not exist - create it
|
10062
|
-
if (it.type
|
10120
|
+
if (it.type == 'spacer') {
|
10063
10121
|
html = '<td width="100%" id="tb_'+ this.name +'_item_'+ it.id +'" align="right"></td>';
|
10064
10122
|
} else {
|
10065
10123
|
html = '<td id="tb_'+ this.name + '_item_'+ it.id +'" style="'+ (it.hidden ? 'display: none' : '') +'" '+
|
10066
10124
|
' class="'+ (it.disabled ? 'disabled' : '') +'" valign="middle">'+ html +
|
10067
10125
|
'</td>';
|
10068
10126
|
}
|
10069
|
-
if (this.get(id, true)
|
10127
|
+
if (this.get(id, true) == this.items.length-1) {
|
10070
10128
|
$(this.box).find('#tb_'+ this.name +'_right').before(html);
|
10071
10129
|
} else {
|
10072
10130
|
$(this.box).find('#tb_'+ this.name +'_item_'+ w2utils.escapeId(this.items[parseInt(this.get(id, true))+1].id)).before(html);
|
@@ -10119,8 +10177,8 @@ var w2confirm = function (msg, title, callBack) {
|
|
10119
10177
|
var html = '';
|
10120
10178
|
|
10121
10179
|
if (typeof item.caption !== 'undefined') item.text = item.caption;
|
10122
|
-
if (typeof item.hint
|
10123
|
-
if (typeof item.text
|
10180
|
+
if (typeof item.hint == 'undefined') item.hint = '';
|
10181
|
+
if (typeof item.text == 'undefined') item.text = '';
|
10124
10182
|
|
10125
10183
|
switch (item.type) {
|
10126
10184
|
case 'menu':
|
@@ -10144,7 +10202,7 @@ var w2confirm = function (msg, title, callBack) {
|
|
10144
10202
|
img +
|
10145
10203
|
(item.text !== '' ? '<td class="w2ui-tb-caption" nowrap>'+ item.text +'</td>' : '') +
|
10146
10204
|
(item.count != null ? '<td class="w2ui-tb-count" nowrap><span>'+ item.count +'</span></td>' : '') +
|
10147
|
-
(((item.type
|
10205
|
+
(((item.type == 'drop' || item.type == 'menu') && item.arrow !== false) ?
|
10148
10206
|
'<td class="w2ui-tb-down" nowrap><div></div></td>' : '') +
|
10149
10207
|
' </tr></table>'+
|
10150
10208
|
'</td></tr></table>';
|
@@ -10164,8 +10222,8 @@ var w2confirm = function (msg, title, callBack) {
|
|
10164
10222
|
}
|
10165
10223
|
|
10166
10224
|
var newHTML = '';
|
10167
|
-
if (typeof item.onRender
|
10168
|
-
if (typeof this.onRender
|
10225
|
+
if (typeof item.onRender == 'function') newHTML = item.onRender.call(this, item.id, html);
|
10226
|
+
if (typeof this.onRender == 'function') newHTML = this.onRender(item.id, html);
|
10169
10227
|
if (newHTML !== '' && newHTML != null) html = newHTML;
|
10170
10228
|
|
10171
10229
|
return '<div>' + html + '</div>';
|
@@ -10210,11 +10268,11 @@ var w2confirm = function (msg, title, callBack) {
|
|
10210
10268
|
var btn = '#tb_'+ this.name +'_item_'+ w2utils.escapeId(it.id) +' table.w2ui-button';
|
10211
10269
|
$(btn).removeClass('down'); // need to requery at the moment -- as well as elsewhere in this function
|
10212
10270
|
|
10213
|
-
if (it.type
|
10271
|
+
if (it.type == 'radio') {
|
10214
10272
|
for (var i = 0; i < this.items.length; i++) {
|
10215
10273
|
var itt = this.items[i];
|
10216
|
-
if (itt == null || itt.id
|
10217
|
-
if (itt.group
|
10274
|
+
if (itt == null || itt.id == it.id || itt.type !== 'radio') continue;
|
10275
|
+
if (itt.group == it.group && itt.checked) {
|
10218
10276
|
itt.checked = false;
|
10219
10277
|
this.refresh(itt.id);
|
10220
10278
|
}
|
@@ -10223,7 +10281,7 @@ var w2confirm = function (msg, title, callBack) {
|
|
10223
10281
|
$(btn).addClass('checked');
|
10224
10282
|
}
|
10225
10283
|
|
10226
|
-
if (it.type
|
10284
|
+
if (it.type == 'drop' || it.type == 'menu') {
|
10227
10285
|
if (it.checked) {
|
10228
10286
|
// if it was already checked, second click will hide it
|
10229
10287
|
it.checked = false;
|
@@ -10234,12 +10292,12 @@ var w2confirm = function (msg, title, callBack) {
|
|
10234
10292
|
if (!$.isPlainObject(it.overlay)) it.overlay = {};
|
10235
10293
|
var left = (el.width() - 50) / 2;
|
10236
10294
|
if (left > 19) left = 19;
|
10237
|
-
if (it.type
|
10295
|
+
if (it.type == 'drop') {
|
10238
10296
|
el.w2overlay(it.html, $.extend({ name: obj.name, left: left, top: 3 }, it.overlay, {
|
10239
10297
|
onHide: function () { hideDrop(); }
|
10240
10298
|
}));
|
10241
10299
|
}
|
10242
|
-
if (it.type
|
10300
|
+
if (it.type == 'menu') {
|
10243
10301
|
el.w2menu(it.items, $.extend({ left: left, top: 3 }, it.overlay, {
|
10244
10302
|
select: function (event) {
|
10245
10303
|
obj.menuClick({ name: obj.name, item: it, subItem: event.item, originalEvent: event.originalEvent });
|
@@ -10256,7 +10314,7 @@ var w2confirm = function (msg, title, callBack) {
|
|
10256
10314
|
}
|
10257
10315
|
}
|
10258
10316
|
|
10259
|
-
if (it.type
|
10317
|
+
if (it.type == 'check' || it.type == 'drop' || it.type == 'menu') {
|
10260
10318
|
it.checked = !it.checked;
|
10261
10319
|
if (it.checked) {
|
10262
10320
|
$(btn).addClass('checked');
|
@@ -10299,6 +10357,7 @@ var w2confirm = function (msg, title, callBack) {
|
|
10299
10357
|
* - reorder with grag and drop
|
10300
10358
|
* - node.style is missleading - should be there to apply color for example
|
10301
10359
|
* - add multiselect
|
10360
|
+
* - add renderer for the node
|
10302
10361
|
*
|
10303
10362
|
* == 1.5 changes
|
10304
10363
|
* - $('#sidebar').w2sidebar() - if called w/o argument then it returns sidebar object
|
@@ -11152,9 +11211,8 @@ var w2confirm = function (msg, title, callBack) {
|
|
11152
11211
|
},
|
11153
11212
|
|
11154
11213
|
lock: function (msg, showSpinner) {
|
11155
|
-
var box = $(this.box).find('> div:first-child');
|
11156
11214
|
var args = Array.prototype.slice.call(arguments, 0);
|
11157
|
-
args.unshift(box);
|
11215
|
+
args.unshift(this.box);
|
11158
11216
|
w2utils.lock.apply(window, args);
|
11159
11217
|
},
|
11160
11218
|
|
@@ -13520,10 +13578,6 @@ var w2confirm = function (msg, title, callBack) {
|
|
13520
13578
|
|
13521
13579
|
this.style = '';
|
13522
13580
|
this.focus = 0; // focus first or other element
|
13523
|
-
this.msgNotJSON = w2utils.lang('Return data is not in JSON format.');
|
13524
|
-
this.msgAJAXerror = w2utils.lang('AJAX error. See console for more details.');
|
13525
|
-
this.msgRefresh = w2utils.lang('Refreshing...');
|
13526
|
-
this.msgSaving = w2utils.lang('Saving...');
|
13527
13581
|
|
13528
13582
|
// events
|
13529
13583
|
this.onRequest = null;
|
@@ -13645,6 +13699,10 @@ var w2confirm = function (msg, title, callBack) {
|
|
13645
13699
|
// -- Implementation of core functionality
|
13646
13700
|
|
13647
13701
|
w2form.prototype = {
|
13702
|
+
msgNotJSON : w2utils.lang('Return data is not in JSON format.'),
|
13703
|
+
msgAJAXerror : w2utils.lang('AJAX error. See console for more details.'),
|
13704
|
+
msgRefresh : w2utils.lang('Refreshing...'),
|
13705
|
+
msgSaving : w2utils.lang('Saving...'),
|
13648
13706
|
|
13649
13707
|
get: function (field, returnIndex) {
|
13650
13708
|
if (arguments.length === 0) {
|
@@ -14142,15 +14200,14 @@ var w2confirm = function (msg, title, callBack) {
|
|
14142
14200
|
},
|
14143
14201
|
|
14144
14202
|
lock: function (msg, showSpinner) {
|
14145
|
-
var box = $(this.box).find('> div:first-child');
|
14146
14203
|
var args = Array.prototype.slice.call(arguments, 0);
|
14147
|
-
args.unshift(box);
|
14148
|
-
w2utils.lock.apply(window, args);
|
14204
|
+
args.unshift(this.box);
|
14205
|
+
setTimeout(function () { w2utils.lock.apply(window, args); }, 10);
|
14149
14206
|
},
|
14150
14207
|
|
14151
14208
|
unlock: function (speed) {
|
14152
|
-
var
|
14153
|
-
setTimeout(function () { w2utils.unlock(
|
14209
|
+
var box = this.box;
|
14210
|
+
setTimeout(function () { w2utils.unlock(box, speed); }, 25); // needed timer so if server fast, it will not flash
|
14154
14211
|
},
|
14155
14212
|
|
14156
14213
|
goto: function (page) {
|
@@ -14400,10 +14457,12 @@ var w2confirm = function (msg, title, callBack) {
|
|
14400
14457
|
$(field.el).parent().parent().removeClass('w2ui-required');
|
14401
14458
|
}
|
14402
14459
|
// disabled
|
14403
|
-
if (field.disabled) {
|
14404
|
-
|
14405
|
-
|
14406
|
-
|
14460
|
+
if (field.disabled != null) {
|
14461
|
+
if (field.disabled) {
|
14462
|
+
$(field.el).prop('readonly', true);
|
14463
|
+
} else {
|
14464
|
+
$(field.el).prop('readonly', false);
|
14465
|
+
}
|
14407
14466
|
}
|
14408
14467
|
// hidden
|
14409
14468
|
if (field.hidden) {
|
@@ -14468,6 +14527,7 @@ var w2confirm = function (msg, title, callBack) {
|
|
14468
14527
|
if (field.type == 'list') {
|
14469
14528
|
var tmp_value = ($.isPlainObject(value) ? value.id : value);
|
14470
14529
|
// normalized options
|
14530
|
+
if (!field.options.items) field.options.items = [];
|
14471
14531
|
var items = field.options.items;
|
14472
14532
|
if ($.isArray(items) && items.length > 0 && !$.isPlainObject(items[0])) {
|
14473
14533
|
field.options.items = w2obj.field.prototype.normMenu(items);
|
@@ -14557,8 +14617,8 @@ var w2confirm = function (msg, title, callBack) {
|
|
14557
14617
|
}
|
14558
14618
|
var html = '<div>' +
|
14559
14619
|
(this.header != '' ? '<div class="w2ui-form-header">' + this.header + '</div>' : '') +
|
14560
|
-
' <div id="form_'+ this.name +'_toolbar" class="w2ui-form-toolbar"></div>' +
|
14561
|
-
' <div id="form_'+ this.name +'_tabs" class="w2ui-form-tabs"></div>' +
|
14620
|
+
' <div id="form_'+ this.name +'_toolbar" class="w2ui-form-toolbar" style="display: none"></div>' +
|
14621
|
+
' <div id="form_'+ this.name +'_tabs" class="w2ui-form-tabs" style="display: none"></div>' +
|
14562
14622
|
this.formHTML +
|
14563
14623
|
'</div>';
|
14564
14624
|
$(this.box).attr('name', this.name)
|
@@ -888,7 +888,7 @@ button.w2ui-btn-red.clicked {
|
|
888
888
|
border-top-color: #81C6FF;
|
889
889
|
}
|
890
890
|
/*
|
891
|
-
* ARROWS
|
891
|
+
* ARROWS
|
892
892
|
*/
|
893
893
|
.arrow-up {
|
894
894
|
background: none;
|
@@ -971,7 +971,7 @@ button.w2ui-btn-red.clicked {
|
|
971
971
|
outline: 1px solid #666;
|
972
972
|
border: 1px solid #fff;
|
973
973
|
}
|
974
|
-
/*
|
974
|
+
/*
|
975
975
|
* DATE overlay
|
976
976
|
*/
|
977
977
|
.w2ui-calendar {
|
@@ -2222,6 +2222,7 @@ button.w2ui-btn-red.clicked {
|
|
2222
2222
|
* ---- Sidebar ----
|
2223
2223
|
*/
|
2224
2224
|
.w2ui-sidebar {
|
2225
|
+
position: relative;
|
2225
2226
|
cursor: default;
|
2226
2227
|
overflow: hidden !important;
|
2227
2228
|
background-color: #edf1f6 !important;
|
@@ -2239,7 +2240,7 @@ button.w2ui-btn-red.clicked {
|
|
2239
2240
|
box-sizing: border-box;
|
2240
2241
|
}
|
2241
2242
|
.w2ui-sidebar > div {
|
2242
|
-
position:
|
2243
|
+
position: absolute;
|
2243
2244
|
overflow: hidden;
|
2244
2245
|
}
|
2245
2246
|
.w2ui-sidebar .w2ui-sidebar-top {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo_w2ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Haslinger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hobo_jquery
|