Revision 46e1177c
Von Sven Schöling vor mehr als 10 Jahren hinzugefügt
js/autocomplete_part.js | ||
---|---|---|
8 | 8 |
ESCAPE: 27, |
9 | 9 |
ENTER: 13, |
10 | 10 |
TAB: 9, |
11 |
LEFT: 37, |
|
12 |
RIGHT: 39, |
|
13 |
PAGE_UP: 33, |
|
14 |
PAGE_DOWN: 34, |
|
11 | 15 |
}; |
12 | 16 |
var o = $.extend({ |
13 | 17 |
limit: 20, |
14 | 18 |
delay: 50, |
19 |
fat_set_item: 0, // use this option to get a fat item json with all |
|
20 |
// relevant data instead of the guaranteed id + name |
|
15 | 21 |
}, options); |
16 | 22 |
var STATES = { |
17 | 23 |
UNIQUE: 1, |
... | ... | |
35 | 41 |
real_id: real_id, |
36 | 42 |
}, ajax_data($dummy.val())), |
37 | 43 |
id: 'part_selection', |
38 |
dialog: { title: k.t8('Part picker') } |
|
44 |
dialog: { |
|
45 |
title: k.t8('Part picker'), |
|
46 |
width: 800, |
|
47 |
height: 800, |
|
48 |
} |
|
39 | 49 |
}); |
40 | 50 |
window.clearTimeout(timer); |
41 | 51 |
return true; |
... | ... | |
46 | 56 |
'filter.all:substr::ilike': term, |
47 | 57 |
'filter.obsolete': 0, |
48 | 58 |
'filter.unit_obj.convertible_to': $convertible_unit && $convertible_unit.val() ? $convertible_unit.val() : '', |
59 |
no_paginate: $('#no_paginate').prop('checked') ? 1 : 0, |
|
49 | 60 |
column: $column && $column.val() ? $column.val() : '', |
50 | 61 |
current: $real.val(), |
51 | 62 |
}; |
... | ... | |
71 | 82 |
state = STATES.PICKED; |
72 | 83 |
last_real = $real.val(); |
73 | 84 |
last_dummy = $dummy.val(); |
74 |
$real.trigger('change').trigger('set_item:PartPicker', item); |
|
85 |
$real.trigger('change'); |
|
86 |
|
|
87 |
if (o.fat_set_item) { |
|
88 |
$.ajax({ |
|
89 |
url: 'controller.pl?action=Part/show.json', |
|
90 |
data: { id: item.id }, |
|
91 |
success: function(rsp) { |
|
92 |
$real.trigger('set_item:PartPicker', rsp); |
|
93 |
}, |
|
94 |
}); |
|
95 |
} else { |
|
96 |
$real.trigger('set_item:PartPicker', item); |
|
97 |
} |
|
75 | 98 |
} |
76 | 99 |
|
77 | 100 |
function make_defined_state () { |
... | ... | |
94 | 117 |
}; |
95 | 118 |
|
96 | 119 |
function result_timer (event) { |
120 |
if (!$('no_paginate').prop('checked')) { |
|
121 |
if (event.keyCode == KEY.PAGE_UP) { |
|
122 |
$('#part_picker_result a.paginate-prev').click(); |
|
123 |
return; |
|
124 |
} |
|
125 |
if (event.keyCode == KEY.PAGE_DOWN) { |
|
126 |
$('#part_picker_result a.paginate-next').click(); |
|
127 |
return; |
|
128 |
} |
|
129 |
} |
|
97 | 130 |
window.clearTimeout(timer); |
98 | 131 |
timer = window.setTimeout(update_results, 100); |
99 | 132 |
} |
... | ... | |
175 | 208 |
var picker = $('<div>'); |
176 | 209 |
$dummy.after(pcont); |
177 | 210 |
pcont.append(picker); |
178 |
picker.addClass('icon16 CRM--Schnellsuche').click(open_dialog);
|
|
211 |
picker.addClass('icon16 crm--search').click(open_dialog);
|
|
179 | 212 |
|
180 | 213 |
var pp = { |
181 | 214 |
real: function() { return $real }, |
... | ... | |
192 | 225 |
$('div.part_picker_part').each(function(){ |
193 | 226 |
$(this).click(function(){ |
194 | 227 |
set_item({ |
195 |
name: $(this).children('input.part_picker_description').val(), |
|
196 | 228 |
id: $(this).children('input.part_picker_id').val(), |
229 |
name: $(this).children('input.part_picker_description').val(), |
|
230 |
unit: $(this).children('input.part_picker_unit').val(), |
|
197 | 231 |
}); |
198 | 232 |
close_popup(); |
233 |
$dummy.focus(); |
|
199 | 234 |
return true; |
200 | 235 |
}); |
201 | 236 |
}); |
Auch abrufbar als: Unified diff
PartPicker: Diverse Verbesserungen
- Dialog vergrössert
- Unterstützung für Listenansicht
- Bild hoch Bild runter im paginaten gemappt
- Focus nach Klickauswahl wieder auf das ursprüngliche Feld gesetzt
- Unterscheidung zwischen minimaler Rückmeldung (nur id und name) und fettem
json Objekt verbessert. Im letzten Fall wird immer garantiert das komplette
Objekt ausgeliefert.