// @hash v3-C5C36F2E49BCECCB3EB84D5E900672582AB57EB2 // Automatically generated by ReactJS.NET. Do not edit, your changes will be overridden. // Version: 5.2.12 (build 29c76c8) with Babel 7.8.7 // Generated at: 9/7/2026 2:47:32 AM /////////////////////////////////////////////////////////////////////////////// function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class ClientListTable extends React.Component { render() { let counsellor; let gap; if (typeof window !== 'undefined' && typeof URLSearchParams !== 'undefined') { const params = new URLSearchParams(window.location.search); counsellor = params.get('counsellor'); gap = params.get('gap'); } const filters = { options: counsellor ? { counsellors: counsellor } : undefined, gap }; const gapOptions = this.props.options.gaps?.sort((a, b) => a.name.localeCompare(b.name)) || []; if (gapOptions.length > 1) { gapOptions.unshift({ id: "all", name: "View all" }); } return React.createElement(React.Fragment, null, React.createElement("h1", { className: "nsw-h2" }, "Clients"), React.createElement(OptionsProvider, { value: this.props.options }, React.createElement(global.Table, { filters: _objectSpread({}, this.props.filters, {}, filters), structure: this.props.structure, trackLinks: row => ({ event: 'table_clients_click', client_id: row.data.id }), above: ({ info, applyFilter, refresh, reset, setTab, track }) => React.createElement(React.Fragment, null, React.createElement(global.TabButtons, { hidden: true, tabs: this.props.tabs, current: info.tab, onChange: setTab }), React.createElement("div", { className: "flex justify-between pt-6 sm:pt-4 sm:items-end sm:flex-row-reverse max-sm:flex-col max-sm:gap-6" }, React.createElement(Select, { current: info.filter.gap, options: gapOptions.map(gap => ({ 'id': gap.id, 'value': gap.name })), onChange: (gap, selection_name) => { reset(); applyFilter('gap', gap); track('table_dropdown_filter_apply', { selection_name }); }, className: "font-bold text-sm gap-filter" }), this.props.options.addClientsUrl && React.createElement(Button, { theme: "primary", disabled: info.filter.gap == 'all', text: "Add a new client", modal: { name: 'newClient', data: { gap: info.filter.gap, callback: () => { reset(); refresh(); } } } })), info.filter.gap == 'all' && React.createElement(Alert, { type: "warning", mini: true }, React.createElement("strong", null, "Alert"), " Please select a GAP from the drop down to add new client."), React.createElement("hr", { className: "mt-6 sm:mt-3 mb-2" }), React.createElement("div", { className: "flex justify-end" }, React.createElement(ClearFilters, null))) }))); } }