@fleetbase/storefront-engine
Version:
Headless Commerce & Marketplace Extension for Fleetbase
51 lines (44 loc) • 1.6 kB
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { action, get } from '@ember/object';
import { debug } from '@ember/debug';
import { task } from 'ember-concurrency';
export default class WidgetCustomersComponent extends Component {
store;
storefront;
intl;
contextPanel;
loaded = false;
customers = [];
title = this.intl.t('storefront.component.widget.customers.widget-title');
constructor(owner, { title }) {
super(...arguments);
this.title = title ?? this.intl.t('storefront.component.widget.customers.widget-title');
this.loadCustomers.perform();
this.storefront.on('order.broadcasted', () => {
this.loadCustomers.perform();
});
this.storefront.on('storefront.changed', () => {
this.loadCustomers.perform();
});
}
viewCustomer(customer) {
this.contextPanel.focus(customer, 'viewing');
}
*loadCustomers(params = {}) {
const storefront = get(this.storefront, 'activeStore.public_id');
try {
const customers = yield this.store.query('customer', {
storefront,
limit: 14,
...params,
});
this.loaded = true;
this.customers = customers;
return customers;
} catch (err) {
debug('Error loading customers for widget:', err);
}
}
}