category save - client side