@vendasta/store
Version:
Components and data for Store
58 lines • 7.55 kB
JavaScript
import { DropdownField } from './field-dropdown';
export class VBCUserField extends DropdownField {
constructor(options) {
super({
id: options.id,
label: options.label,
required: options.required,
description: options.description,
options: getOptions(options.users),
disabled: options.disabled,
forOfficeUseOnly: options.forOfficeUseOnly,
officeEditableOnly: options.officeEditableOnly,
});
this.controlType = 'vbcuser';
}
}
function getOptions(vbcUsers) {
if (vbcUsers && vbcUsers.length > 0) {
vbcUsers.sort(compareUsersByEmail);
return vbcUsers.map((user) => {
const labelString = createLabelString(user.firstName, user.lastName, user.email);
if (user.userId && user.email && user.firstName && user.lastName) {
return {
label: labelString,
value: JSON.stringify({
firstName: user.firstName,
lastName: user.lastName,
email: user.email,
id: user.userId,
}),
};
}
return {
label: labelString + ' - First and last name required',
value: '',
disabled: true,
};
});
}
return [{ label: 'FRONTEND.STORE.ORDER_FORM.NO_USERS_INSTRUCTIONS', value: '', disabled: true }];
}
function compareUsersByEmail(a, b) {
if (a == null) {
return -1;
}
if (b == null) {
return 1;
}
return a.email.localeCompare(b.email);
}
function createLabelString(firstName, lastName, email) {
let returnString = '';
returnString += firstName ? firstName + ' ' : '';
returnString += lastName ? lastName + ' ' : '';
returnString += email ? `(${email})` : '';
return returnString;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmJjdXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3RvcmUvc3JjL2xpYi9vcmRlci1mb3JtL2ZpZWxkcy9maWVsZC12YmN1c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQWF6RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGFBQWE7SUFHN0MsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUM7WUFDSixFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7WUFDMUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtTQUMvQyxDQUFDLENBQUM7UUFaSSxnQkFBVyxHQUFnQixTQUFTLENBQUM7SUFhOUMsQ0FBQztDQUNGO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFakYsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNoRSxPQUFPO29CQUNMLEtBQUssRUFBRSxXQUFXO29CQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO3dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzt3QkFDakIsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNO3FCQUNoQixDQUFDO2lCQUNILENBQUM7YUFDSDtZQUNELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLFdBQVcsR0FBRyxpQ0FBaUM7Z0JBQ3RELEtBQUssRUFBRSxFQUFFO2dCQUNULFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsaURBQWlELEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRyxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxDQUFPLEVBQUUsQ0FBTztJQUMzQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDYixPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ1g7SUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDYixPQUFPLENBQUMsQ0FBQztLQUNWO0lBQ0QsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsU0FBaUIsRUFBRSxRQUFnQixFQUFFLEtBQWE7SUFDM0UsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLFlBQVksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRCxZQUFZLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0MsWUFBWSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFDLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sVHlwZSwgRmllbGRCYXNlT3B0aW9ucyB9IGZyb20gJy4vZmllbGQtYmFzZSc7XG5pbXBvcnQgeyBEcm9wZG93bkZpZWxkLCBPcHRpb24gfSBmcm9tICcuL2ZpZWxkLWRyb3Bkb3duJztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGZpcnN0TmFtZT86IHN0cmluZztcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVkJDVXNlckZpZWxkT3B0aW9ucyBleHRlbmRzIEZpZWxkQmFzZU9wdGlvbnMge1xuICB1c2VyczogVXNlcltdO1xufVxuXG5leHBvcnQgY2xhc3MgVkJDVXNlckZpZWxkIGV4dGVuZHMgRHJvcGRvd25GaWVsZCB7XG4gIHJlYWRvbmx5IGNvbnRyb2xUeXBlOiBDb250cm9sVHlwZSA9ICd2YmN1c2VyJztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBWQkNVc2VyRmllbGRPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgaWQ6IG9wdGlvbnMuaWQsXG4gICAgICBsYWJlbDogb3B0aW9ucy5sYWJlbCxcbiAgICAgIHJlcXVpcmVkOiBvcHRpb25zLnJlcXVpcmVkLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICBvcHRpb25zOiBnZXRPcHRpb25zKG9wdGlvbnMudXNlcnMpLFxuICAgICAgZGlzYWJsZWQ6IG9wdGlvbnMuZGlzYWJsZWQsXG4gICAgICBmb3JPZmZpY2VVc2VPbmx5OiBvcHRpb25zLmZvck9mZmljZVVzZU9ubHksXG4gICAgICBvZmZpY2VFZGl0YWJsZU9ubHk6IG9wdGlvbnMub2ZmaWNlRWRpdGFibGVPbmx5LFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvbnModmJjVXNlcnM6IFVzZXJbXSk6IE9wdGlvbltdIHtcbiAgaWYgKHZiY1VzZXJzICYmIHZiY1VzZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YmNVc2Vycy5zb3J0KGNvbXBhcmVVc2Vyc0J5RW1haWwpO1xuICAgIHJldHVybiB2YmNVc2Vycy5tYXAoKHVzZXIpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsU3RyaW5nID0gY3JlYXRlTGFiZWxTdHJpbmcodXNlci5maXJzdE5hbWUsIHVzZXIubGFzdE5hbWUsIHVzZXIuZW1haWwpO1xuXG4gICAgICBpZiAodXNlci51c2VySWQgJiYgdXNlci5lbWFpbCAmJiB1c2VyLmZpcnN0TmFtZSAmJiB1c2VyLmxhc3ROYW1lKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGFiZWw6IGxhYmVsU3RyaW5nLFxuICAgICAgICAgIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBmaXJzdE5hbWU6IHVzZXIuZmlyc3ROYW1lLFxuICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXIubGFzdE5hbWUsXG4gICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICAgICAgICAgIGlkOiB1c2VyLnVzZXJJZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBsYWJlbFN0cmluZyArICcgLSBGaXJzdCBhbmQgbGFzdCBuYW1lIHJlcXVpcmVkJyxcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIFt7IGxhYmVsOiAnRlJPTlRFTkQuU1RPUkUuT1JERVJfRk9STS5OT19VU0VSU19JTlNUUlVDVElPTlMnLCB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlVXNlcnNCeUVtYWlsKGE6IFVzZXIsIGI6IFVzZXIpOiBudW1iZXIge1xuICBpZiAoYSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG4gIGlmIChiID09IG51bGwpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICByZXR1cm4gYS5lbWFpbC5sb2NhbGVDb21wYXJlKGIuZW1haWwpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMYWJlbFN0cmluZyhmaXJzdE5hbWU6IHN0cmluZywgbGFzdE5hbWU6IHN0cmluZywgZW1haWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCByZXR1cm5TdHJpbmcgPSAnJztcbiAgcmV0dXJuU3RyaW5nICs9IGZpcnN0TmFtZSA/IGZpcnN0TmFtZSArICcgJyA6ICcnO1xuICByZXR1cm5TdHJpbmcgKz0gbGFzdE5hbWUgPyBsYXN0TmFtZSArICcgJyA6ICcnO1xuICByZXR1cm5TdHJpbmcgKz0gZW1haWwgPyBgKCR7ZW1haWx9KWAgOiAnJztcbiAgcmV0dXJuIHJldHVyblN0cmluZztcbn1cbiJdfQ==