};
ns.add_assortment_item = function() {
- if ($('#add_assortment_item_id').val() === '') return;
+ if ($('#assortment_picker').val() === '') return;
$('#row_table_id thead a img').remove();
data.push({ name: 'action', value: 'Part/add_assortment_item' },
{ name: 'part.id', value: $('#part_id').val() },
{ name: 'part.part_type', value: 'assortment' });
+ $('#assortment_picker').data('part_picker').clear();
$.post("controller.pl", data, kivi.eval_json_result);
};
ns.add_assembly_item = function() {
- if ($('#add_assembly_item_id').val() === '') return;
+ if ($('#assembly_picker').val() === '') return;
var data = $('#assembly :input').serializeArray();
data.push({ name: 'action', value: 'Part/add_assembly_item' },
{ name: 'part.id', value: $("#part_id").val() },
{ name: 'part.part_type', value: 'assortment' });
+ $('#assembly_picker').data('part_picker').clear();
$.post("controller.pl", data, kivi.eval_json_result);
};
};
ns.add_makemodel_row = function() {
- if ($('#add_makemodelid').val() === '') return;
+ if ($('#add_makemodel').val() === '') return;
var data = $('#makemodel_table :input').serializeArray();
data.push({ name: 'action', value: 'Part/add_makemodel_row' });
ns.Picker = function($real, options) {
var self = this;
- this.o = $.extend({
+ this.o = $.extend(true, {
limit: 20,
delay: 50,
action: {
- on_enter_match_none: function(){ },
- on_enter_match_one: function(){ $('#update_button').click(); },
- on_enter_match_many: function(){ self.open_dialog(); }
+ commit_none: function(){ },
+ commit_one: function(){ $('#update_button').click(); },
+ commit_many: function(){ self.open_dialog(); }
}
}, $real.data('part-picker-data'), options);
this.$real = $real;
if (callbacks && callbacks.match_many) self.run_action(callbacks.match_many, [ data ]);
} else {
self.state = self.STATES.UNDEFINED;
- if (callbacks && callbacks.match_none) self.run_action(callbacks.match_none);
+ if (callbacks && callbacks.match_none) self.run_action(callbacks.match_none, [ self, self.$dummy.val() ]);
}
self.annotate_state();
}
self.set_item({});
return true;
} else if (self.state == self.STATES.PICKED) {
- if (self.o.action.on_enter_match_one) {
- self.run_action(self.o.action.on_enter_match_one);
+ if (self.o.action.commit_one) {
+ self.run_action(self.o.action.commit_one);
}
return true;
}
}
if (event.which == KEY.ENTER) {
self.handle_changed_text({
- match_one: self.o.action.on_enter_match_one,
- match_many: self.o.action.on_enter_match_many
+ match_none: self.o.action.commit_none,
+ match_one: self.o.action.commit_one,
+ match_many: self.o.action.commit_many
});
return false;
}
code.apply(this, args)
else
kivi.run(code, args);
+ },
+ clear: function() {
+ this.set_item({});
}
};
ns.Picker.prototype.STATES = {