"use strict"; /** * Save client handler for Form component * @param {Object} values - Serialized form values * @returns {Promise} Response {success: bool, errors?: {}, redirect?: string} */ async function save_client(values) { // Check if editing existing client const client_id = $('#client-id').val(); if (client_id) { values.id = client_id; } // TODO: Collect additional fields not yet in Form component (tags, etc.) // For now, just submit the basic fields from the Form component try { const response = await Frontend_Clients_Controller.save(values); if (response.success) { // Redirect to clients list on success return { success: true, redirect: Rsx.Route('Frontend_Clients_Controller', 'index') }; } else { // Return validation errors return { success: false, errors: response.errors || { _general: response.message || 'An error occurred' } }; } } catch (error) { console.error('Save error:', error); return { success: false, errors: { _general: 'An error occurred while saving. Please try again.' } }; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzYXZlX2NsaWVudCIsInZhbHVlcyIsImNsaWVudF9pZCIsIiQiLCJ2YWwiLCJpZCIsInJlc3BvbnNlIiwiRnJvbnRlbmRfQ2xpZW50c19Db250cm9sbGVyIiwic2F2ZSIsInN1Y2Nlc3MiLCJyZWRpcmVjdCIsIlJzeCIsIlJvdXRlIiwiZXJyb3JzIiwiX2dlbmVyYWwiLCJtZXNzYWdlIiwiZXJyb3IiLCJjb25zb2xlIl0sInNvdXJjZXMiOlsicnN4L2FwcC9mcm9udGVuZC9jbGllbnRzL2VkaXQvc2F2ZV9jbGllbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTYXZlIGNsaWVudCBoYW5kbGVyIGZvciBGb3JtIGNvbXBvbmVudFxuICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIFNlcmlhbGl6ZWQgZm9ybSB2YWx1ZXNcbiAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdD59IFJlc3BvbnNlIHtzdWNjZXNzOiBib29sLCBlcnJvcnM/OiB7fSwgcmVkaXJlY3Q/OiBzdHJpbmd9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhdmVfY2xpZW50KHZhbHVlcykge1xuICAgIC8vIENoZWNrIGlmIGVkaXRpbmcgZXhpc3RpbmcgY2xpZW50XG4gICAgY29uc3QgY2xpZW50X2lkID0gJCgnI2NsaWVudC1pZCcpLnZhbCgpO1xuICAgIGlmIChjbGllbnRfaWQpIHtcbiAgICAgICAgdmFsdWVzLmlkID0gY2xpZW50X2lkO1xuICAgIH1cblxuICAgIC8vIFRPRE86IENvbGxlY3QgYWRkaXRpb25hbCBmaWVsZHMgbm90IHlldCBpbiBGb3JtIGNvbXBvbmVudCAodGFncywgZXRjLilcbiAgICAvLyBGb3Igbm93LCBqdXN0IHN1Ym1pdCB0aGUgYmFzaWMgZmllbGRzIGZyb20gdGhlIEZvcm0gY29tcG9uZW50XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IEZyb250ZW5kX0NsaWVudHNfQ29udHJvbGxlci5zYXZlKHZhbHVlcyk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIC8vIFJlZGlyZWN0IHRvIGNsaWVudHMgbGlzdCBvbiBzdWNjZXNzXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVkaXJlY3Q6IFJzeC5Sb3V0ZSgnRnJvbnRlbmRfQ2xpZW50c19Db250cm9sbGVyJywgJ2luZGV4JylcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBSZXR1cm4gdmFsaWRhdGlvbiBlcnJvcnNcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgICAgICAgZXJyb3JzOiByZXNwb25zZS5lcnJvcnMgfHwge19nZW5lcmFsOiByZXNwb25zZS5tZXNzYWdlIHx8ICdBbiBlcnJvciBvY2N1cnJlZCd9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignU2F2ZSBlcnJvcjonLCBlcnJvcik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgIGVycm9yczoge19nZW5lcmFsOiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgc2F2aW5nLiBQbGVhc2UgdHJ5IGFnYWluLid9XG4gICAgICAgIH07XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlQSxXQUFXQSxDQUFDQyxNQUFNLEVBQUU7RUFDL0I7RUFDQSxNQUFNQyxTQUFTLEdBQUdDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLENBQUM7RUFDdkMsSUFBSUYsU0FBUyxFQUFFO0lBQ1hELE1BQU0sQ0FBQ0ksRUFBRSxHQUFHSCxTQUFTO0VBQ3pCOztFQUVBO0VBQ0E7O0VBRUEsSUFBSTtJQUNBLE1BQU1JLFFBQVEsR0FBRyxNQUFNQywyQkFBMkIsQ0FBQ0MsSUFBSSxDQUFDUCxNQUFNLENBQUM7SUFFL0QsSUFBSUssUUFBUSxDQUFDRyxPQUFPLEVBQUU7TUFDbEI7TUFDQSxPQUFPO1FBQ0hBLE9BQU8sRUFBRSxJQUFJO1FBQ2JDLFFBQVEsRUFBRUMsR0FBRyxDQUFDQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsT0FBTztNQUM5RCxDQUFDO0lBQ0wsQ0FBQyxNQUFNO01BQ0g7TUFDQSxPQUFPO1FBQ0hILE9BQU8sRUFBRSxLQUFLO1FBQ2RJLE1BQU0sRUFBRVAsUUFBUSxDQUFDTyxNQUFNLElBQUk7VUFBQ0MsUUFBUSxFQUFFUixRQUFRLENBQUNTLE9BQU8sSUFBSTtRQUFtQjtNQUNqRixDQUFDO0lBQ0w7RUFDSixDQUFDLENBQUMsT0FBT0MsS0FBSyxFQUFFO0lBQ1pDLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDLGFBQWEsRUFBRUEsS0FBSyxDQUFDO0lBQ25DLE9BQU87TUFDSFAsT0FBTyxFQUFFLEtBQUs7TUFDZEksTUFBTSxFQUFFO1FBQUNDLFFBQVEsRUFBRTtNQUFtRDtJQUMxRSxDQUFDO0VBQ0w7QUFDSiIsImlnbm9yZUxpc3QiOltdfQ==