UNPKG

@vendasta/store

Version:

Components and data for Store

58 lines 7.55 kB
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==