//
// API Item Picker
//
var baseAPIUrl = "http://localhost:3000"
var ChooseProductCustomField = function () {
/// The type definition of this Agility Custom Field Type.
var self = this;
/// The display name of the Custom Field Type
self.Label = "Choose Product";
/// The internal reference name of the Custom Field Type. Must not contain any special characters.
self.ReferenceName = "ChooseProduct";
/// This function runs every time the field is rendered
self.Render = function (options) {
///
/// The Render handler for this field. Create any elements and bindings that you might need, pull down resources.
/// This method will be called everytime to the field value changes.
///
/// The options used to render this field.
//get our base element
var $pnl = $(".product-picker-field", options.$elem);
if ($pnl.size() == 0) {
var htmlContent = `
`;
//pull down the html template and load it into the element
options.$elem.append(htmlContent)
$pnl = $(".product-picker-field", options.$elem);
//bind our viewmodel to this
var viewModel = function () {
/// The KO ViewModel that will be binded to your HTML template.
///
/// The .field-row jQuery Dom Element.
/// The entire Content Item object including Values and their KO Observable properties of all other fields on the form.
/// The value binding of thie Custom Field Type. Get and set this field's value by using this property.
/// Object representing the field's settings such as 'Hidden', 'Label', and 'Description'
/// Represents if this field should be readonly or not.
///
var self = this;
self.ajaxRequest = null;
self.selectedValue = options.fieldBinding.extend({ throttle: 500 });
self.formatResult = function (item) {
return $(`